Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketKopiering og fjerning efter udløbsdato

 Besvar Besvar Side  12>
Forfatter
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Emne: Kopiering og fjerning efter udløbsdato
    Sendt: 19.Okt.2010 kl. 11:27
Jeg mangler en formel der kan kopier en række når denne når en udløbsdato. Samtidig skal den kopiere den udløbede række til et andet ark, findes der sådan en formel?
 
Fx.
 
Kolonne D indeholder udløbsdatoer. Når en bestemt dato(udløbsdatoen) nås fjernes rækken og sættes ind på et andet ark, fx ark 2. Er det muligt at lave en sådan formel?
 
 
Til top



Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 19.Okt.2010 kl. 15:59
Hej Knud,
 
Ja, det er muligt, dog ikke med en formel men med VBA.
Prøv at lægge dit ark op i forum, så skal jeg nok kigge på det.
 
//Allan
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 10:18
Hej Allan
 
Tak for din hurtige respons, jeg kan ikke ligge regnearket op da det indeholder oplysninger som ikke må ligge offentligt tilgængeligt. Men Kan du ikke prøve at forklare lidt om hvad en VBA er så kan jeg muligvis selv finde ud af det, eller lavet et eksempel i et lille regneark til mig, det ville være kanon hvis du gad det :-)
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 12:07
/uploads/99/Test_af_VBA_auto_kopiering.xls" target="_blank">uploads/99/Test_af_VBA_auto_kopiering.xls
Hej Allan
 
Så vidt jeg kan forstå så er VBA en måde at kode en macro ud over det man kan indspille, er det korretk? Vil jeg så i teorien ikke godt selv kunne kode mit ark hvis du koder det her og så sender koden til mig? Så er det vel bare at kopier koden og så diffinere hvilken kolonne udløbsdatoen sidder i? eller er det ikke så enkelt?
 
Jeg smider lige et test ark op som vi kan snakke ud fra.
 
Dem der har overskredet datoen i kolonne D "medlemsskab betalt frem til". De skal når jeg aktivere VBAen flytte sig over på arket passive. Det skal virke sådan at jeg i princippet hver dag skal kunne trykke på knappen og så flytter dem der har overskredet datoen sig. Det bedste var hvis de gjorde det helt uden at jeg skulle gøre noget, altså sådan at regnearket opdatere af sig selv UDEN at man skal trykke på noget som helst. Men det kan vel ikke lade sig gøre?
 
Det kunne være super hvis du kunne hjælpe mig her :-)
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 13:13
Hej Knud,
 
Her er et eksempel, med en knap.
Alle som overskrider datoen for udløb, flyttes til arket 'Passive'
 
Udløbsdatoen er skrevet i arket, så den kan du ændre som du vil.
 
Hvis du trykker ALT + F11 kan du se koden som jeg har lavet, den kan du ændre som du lyster.
 
'**************************************
DatoRange = "D2:D100"              
AktiveArkNavn = "Aktive"           
PassiveArkNavn = "Passive"         
'**************************************
 
Koden kan sættes op til at køre når arket åbnes, vil du have det?
 
//Allan
 
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 14:41
Ja det vil jeg rigtigt gerne have hvis den kan stilles op til det :-) Vil du lave den til mig også? det ville være fantastisk hvis du gad :-) Tudsind tak for din hjælp :-)
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 15:22
Intet problem, den er her.
Nu fjernes udløbne datoer automatisk ved åbning af fil.
 
 
//Allan
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 15:37

Tusind tak Allan :-) Nu har jeg siddet og kigget på det, men jeg kan ikke finde ud af hvordan jeg selv sætter det op, har du et link til et sted hvor jeg kan lære mig selv det? eller har du en vejledning i hvordan jeg laver netop det du lige har lavet?

Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 20.Okt.2010 kl. 15:52
Hej igen,
 
Du åbner din fil.
Holder på ALT tasten nede mens du trykker én gang på F11
Nu ser du din fil i venstre siden af skærmen.
 
 
Klik på ThisWorkbook og sæt følgende kode ind i tekstområdet i højre side (Illustreret herover)
 
Private Sub Workbook_Open()
'*** 20-10-2010 - Excel-regneark.dk ***
'**************************************
DatoRange = "D2:D100"               '**
UdlDato = "G1"                      '**
AktiveArkNavn = "Aktive"            '**
PassiveArkNavn = "Passive"          '**
'**************************************
 
Application.ScreenUpdating = False
For Each dato In Sheets(AktiveArkNavn).Range(DatoRange).Cells
    If dato <> "" And dato.Value < Sheets(AktiveArkNavn).Range(UdlDato).Value Then
        dato.EntireRow.Cut
        Sheets(PassiveArkNavn).Range("A2").Insert Shift:=xlDown
    End If
Next dato
Sheets(AktiveArkNavn).Range(DatoRange).Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlShiftUp)
Sheets(AktiveArkNavn).Range("A1").Activate
End Sub
 
 
Nu skal du ændre DatoRange til det omåde dine datoer står i.
AktiveArkNavn er navnet på det ark i din fil som indeholder de aktive, samme procedure følges med PassiveArkNavn
UdlDato er den celle hvor du har din udløbsdato, den kan du naturligvis også ændre.
 
Gem nu filen.
Næste gang du åbner filen, køres koden.
 
Virker det for dig?
 
//Allan
 
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 22.Okt.2010 kl. 09:37
Hej Allan
 
Jeg sætter virkelig pris på at du hjælper mig :-)
 
Det virker ikke :-( nu har jeg sat koden ind i det rigtige ark og ændret den, men uden held, kan du se fejlen?
Private Sub Workbook_Open()
'*** 20-10-2010 - Excel-regneark.dk ***
'**************************************
DatoRange = "M4:M1504"               '**
UdlDato = "G1"                      '**
AktiveArkNavn = "Sagsregisrering 2010"            '**
PassiveArkNavn = "Afsluttede sager 2010"          '**
'**************************************
 
Application.ScreenUpdating = False
For Each dato In Sheets(AktiveArkNavn).Range(DatoRange).Cells
    If dato <> "" And dato.Value < Sheets(AktiveArkNavn).Range(UdlDato).Value Then
        dato.EntireRow.Cut
        Sheets(PassiveArkNavn).Range("A2").Insert Shift:=xlDown
    End If
Next dato
Sheets(AktiveArkNavn).Range(DatoRange).Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlShiftUp)
Sheets(AktiveArkNavn).Range("A1").Activate
End Sub
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 22.Okt.2010 kl. 10:31
Hej Knud,
 
Der kan være fejlmuligheder, lad os prøve et par stykker:
 
  • Har du husket at skrive din udløbsdato i G1 ? (UdlDato)
  • Har du lagt koden i THISWORKBOOK
  • Koden startes ved at åbne projektmappen, har du gemt og derefter åbnet filen igen?

For at teste koden mens arket er åbent, kan du gå ind i koden, klikke med musen midt i koden og trykke på F5, så startes koden igen.

Virker det nu?
 
//Allan 
 
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 22.Okt.2010 kl. 11:05
JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA nu virker det :-P FANTASTISK TUSIND TUSIND TUSIND TAK!!!!!!!!!, men kan jeg lave det så den selv sætter dagsdato i feltet hvor jeg skriver udløbsdatoen?
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 22.Okt.2010 kl. 11:54
/uploads/99/Screendump.doc" target="_blank">uploads/99/Screendump.doc
 
Nu holdt det op med at virke???? jeg har taget et screendump, kan du hjælpe Allan? :-(
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 23.Okt.2010 kl. 10:46
Hej Knud,
 
Ups, det er jo fordi der ikke er nogle datoer som skal flyttes, så fejler koden.
Denne kode skulle tage højde for det Big smile
 
 
Private Sub Workbook_Open()
'*** 23-10-2010 - Excel-regneark.dk ***
'**************************************
DatoRange = "D2:D100"               '**
UdlDato = "G1"                      '**
AktiveArkNavn = "Aktive"            '**
PassiveArkNavn = "Passive"          '**
'**************************************
Application.ScreenUpdating = False
For Each dato In Sheets(AktiveArkNavn).Range(DatoRange).Cells
    If dato <> "" And dato.Value < Sheets(AktiveArkNavn).Range(UdlDato).Value Then
        dato.EntireRow.Cut
        Sheets(PassiveArkNavn).Range("A2").Insert Shift:=xlDown
    End If
Next dato
Sheets(AktiveArkNavn).Range(DatoRange).Select
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlShiftUp)
Sheets(AktiveArkNavn).Range("A1").Activate
End Sub
 
 
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 25.Okt.2010 kl. 10:20
Igen TUSIND tak for hjælpen, nu opdagede jeg noget da jeg brugte din kode, hvis jeg undlader at sætte en udløbsdato på nogen så bliver de automatisk slettet og det skal de ikke. Det er ikke altid jeg kan sætte slutdato på og dem uden dato på skal den bare springe over. Kan man det?Smile
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 26.Okt.2010 kl. 11:18
Kan man ændre ovenstående kode så den ikke sletter dem der ikke har en udløbsdato og stadig fjerner dem der har overskredet udløbsdatoen?
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 26.Okt.2010 kl. 11:38
Hej igen,
 
Ja, problemet er jo bare at koden sletter de tomme datoer sidst i koden, men jeg kan lave en workaround som fixer problemet.
Alle tomme datoer, bliver midlertidigt lavet om til "-" og sidst i koden lavet som til tomme datoer igen Tongue
Prøv lige at se om det ikke virker for dig.
 
Private Sub Workbook_Open()
'*** 26-10-2010 - Excel-regneark.dk ***
'**************************************
DatoRange = "M4:M1504"
UdlDato = "G1"
AktiveArkNavn = "Sagsregisrering 2010"
PassiveArkNavn = "Afsluttede sager 2010"
'**************************************
Application.ScreenUpdating = False

For Each dato In Sheets(AktiveArkNavn).Range(DatoRange).Cells
    If dato.Value = "" Then dato.Value = "-"
    If dato.Value <> "-" And dato.Value < Sheets(AktiveArkNavn).Range(UdlDato).Value Then
        dato.EntireRow.Cut
        Sheets(PassiveArkNavn).Range("A2").Insert Shift:=xlDown
    End If
Next dato

Sheets(AktiveArkNavn).Range(DatoRange).Select
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete (xlShiftUp)
 
For Each tomdato In Sheets(AktiveArkNavn).Range(DatoRange).Cells
    If tomdato.Value = "-" Then tomdato.Value = ""
Next tomdato
 
Sheets(AktiveArkNavn).Range("A1").Activate
End Sub
 
//Allan
Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 26.Okt.2010 kl. 15:38
KÆÆÆÆÆFT du er genial Allan, jeg prøver den af i morgen, men mon ikke den virker :-)
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 26.Okt.2010 kl. 15:43

Lad os nu se, vi krydser fingre Big smile

Til top
Knud Se dropdown
Bronze bruger
Bronze bruger


Medlem: 19.Okt.2010
Land: Danmark
Status: Offline
Point: 60
Direkte link til dette indlæg Sendt: 27.Okt.2010 kl. 10:01
/uploads/99/Screendump_End_If.doc" target="_blank">uploads/99/Screendump_End_If.docJeg har problemer med End If, kan du se hvad jeg gør forkert? jeg har lavet det Screendump til dig.
Til top
 Besvar Besvar Side  12>

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk