If Searchdata <> vbNullString Then On Error Resume Next Sheets(Searchdata).Activate If Err.Number <> 0 Then MsgBox "Kan ikke finde det søgte!: " & Searchdata On Error GoTo 0 End If
With ActiveCell.Offset(0, -3).Select End With SenestAflæsningsDato.Value = ActiveCell.Value SenestAflæsningsDato.Value = Format(SenestAflæsningsDato.Text, "DD-MMMM-YYYY")
'Finder sidste års/måneds forbrug Range("A1").Select
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
If Searchdata <> vbNullString Then On Error Resume Next Sheets(Searchdata).Activate If Err.Number <> 0 Then MsgBox "Kan ikke finde det søgte!: " & Searchdata On Error GoTo 0 End If
With ActiveCell.Offset(0, -3).Select End With SenestAflæsningsDato.Value = ActiveCell.Value SenestAflæsningsDato.Value = Format(SenestAflæsningsDato.Text, "DD-MMMM-YYYY")
'Finder sidste års/måneds forbrug Range("A1").Select
Her ønsker jeg at fortsætte med ( tekstboks) seneste forbrug 1 år siden, men der kan være forskel på datoer i måneden fra år til år, dog er der kun en dato i hver måned. I arket er datoerne eks. 28-02-14 og 29-02-13. Til slut skal der være 2 tekstbokse, en med samlet forbrug indtil dato indeværende år og en med samlet forbrug svarende til 1 år siden. Eks hvis sidste måned i 2014 er juli, skal forbruget også være juli 2013 Datoer står i kolonne A og forbrug står i kolonne G
AflæsDato1ÅrSiden.Value = SenestAflæsningsDato.Value ' i morgen er så den første i næste måned, fx 1. marts 2014 AflæsDato1ÅrSiden.Value = DateAdd("d", 1, SenestAflæsningsDato.Value) ' så skal vi et år tilbage, fx 1. marts 2013 AflæsDato1ÅrSiden.Value = DateAdd("yyyy", -1, SenestAflæsningsDato.Value) ' og tilbage en dag, fx 28. feb 2013 (rammer altid korrekt) AflæsDato1ÅrSiden.Value = DateAdd("d", -1, SenestAflæsningsDato.Value)
sorry - glemte lige at rette et felt 2 steder AflæsDato1ÅrSiden.Value = SenestAflæsningsDato.Value ' i morgen er så den første i næste måned, fx 1. marts 2014 AflæsDato1ÅrSiden.Value = DateAdd("d", 1, SenestAflæsningsDato.Value) ' så skal vi et år tilbage, fx 1. marts 2013 AflæsDato1ÅrSiden.Value = DateAdd("yyyy", -1, AflæsDato1ÅrSiden.Value) ' og tilbage en dag, fx 28. feb 2013 AflæsDato1ÅrSiden.Value = DateAdd("d", -1, AflæsDato1ÅrSiden.Value)
Umiddelbart har jeg et spørgsmål: Hvis dato i 2014 ikke er den sidste i måneden, får det så indflydelse på udregningen? Det er datoen du har regnet på - har du et bud på det andet. Man skal bruge dato fra 2013 til at søge i kolonne G efter forbrug. Vil det være bedre at søge med eks:"*" + value dato for et år siden(mm-YYYY).Ved ikke lige hvordan det skal kodes?
ok - denne tager højde for at du starter en tilfældig dag i en måned. Der er lagt en workdato ind til udregningen
AflæsDato1ÅrSiden.Value = SenestAflæsningsDato.Value ' en dag i næste måned, fx 25 mar 2014 AflæsDato1ÅrSiden.Value = DateAdd("m", 1, AflæsDato1ÅrSiden.Value.Value) ' den første i den måned, fx 1 mar 2014 workdato = cDate("1/" & DatePart("m",AflæsDato1ÅrSiden.Value) & "/" & DatePart("yyyy",AflæsDato1ÅrSiden.Value)) ' så skal vi et år tilbage, fx 1 marts 2013 AflæsDato1ÅrSiden.Value = DateAdd("yyyy", -1, workdato) ' og tilbage en dag, fx 28 feb 2013 AflæsDato1ÅrSiden.Value = DateAdd("d", -1, AflæsDato1ÅrSiden.Value)
Hej Claes57 Tak for dit svar - er det ok, at jeg kigger på det senere, da arbejdet kalder? Det er ikke synderlig fikst - men håber du forstår. Jeg skal nok vende tilbage!
det er den .value for meget, der gør, at den ikke først går ind i næste måned. Jeg ved ikke hvor hurtigt det er i excel at regne på et felt som redigeres flere gane, så jeg har sat en variabel ind i stedet, og sætter først feltet til sidst.
enDato = SenestAflæsningsDato.Value ' en dag i næste måned, fx 25 mar 2014 enDato = DateAdd("m", 1, enDato) ' den første i den måned, fx 1 mar 2014 workdato = cDate("1/" & DatePart("m",enDato) & "/" & DatePart("yyyy",enDato)) ' så skal vi et år tilbage, fx 1 marts 2013 enDato = DateAdd("yyyy", -1, workdato) ' og tilbage en dag, fx 28 feb 2013 AflæsDato1ÅrSiden.Value = DateAdd("d", -1, enDato)
Den sidste del af spørgsmålet ved jeg ikke om du har et bud på ellers opretter jeg det som nyt spørgsmål.
Til slut skal der være 2 tekstbokse, en med samlet forbrug indtil dato indeværende år og en med samlet forbrug svarende til 1 år siden. Eks hvis sidste måned i 2014 er juli, skal forbruget også være juli 2013 Datoer står i kolonne A og forbrug står i kolonne G
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.