Avatar billede Nanotech Novice
01. juni 2016 - 10:05 Der er 4 kommentarer og
1 løsning

Makro med array af datoer

Hej,

jeg har et problem jeg ikke kan finde ud af.

Jeg har ved at gennemgå en liste af data lagt nogle datoer i et array. Herefter skal jeg så finde den tidligste/mindste dato i mit array. Men uanset, hvad jeg har forsøgt ender det hele tiden med at jeg får 00:00:00 tilbage som svar.

Jeg har gennemgået mit array og datoerne bliver gemt korrekt.

Håber I kan hjælpe.

Min kode er som følger:
Sub prep()

Dim earlyinc As Date
Dim lrowi As Long
Dim i As Long
Dim cnt As Long
Dim incdates() As Date
Dim formula As String


'find sidste række på I
lrowi = Ark6.Cells(Ark6.Rows.Count, "A").End(xlUp).Row

'find datoer for åbne sager

For i = 2 To lrowi
    If InStr(1, Worksheets("I").Range("D" & i), "Assigned") > 0 Or InStr(1, Worksheets("I").Range("D" & i), "New") > 0 Or InStr(1, Worksheets("I").Range("D" & i), "In Progress") > 0 Or InStr(1, Worksheets("I").Range("D" & i), "pending") > 0 Then
    cnt = cnt + 1
    ReDim Preserve incdates(1 To cnt) As Date
    incdates(cnt) = Worksheets("I").Range("A" & i).Value
    End If
Next i

earlyinc = Application.Min(incdates)

MsgBox earlyinc

End Sub
Avatar billede supertekst Ekspert
01. juni 2016 - 10:13 #1
Er der mulighed for at du kunne Uploade regnearket?
Avatar billede Nanotech Novice
01. juni 2016 - 16:38 #2
Hej,
helst ikke. Det er med personlige data i.

Jeg har dog fundet en "Workaround", hvorfor den virker kan jeg ikke forklare, når den anden så ikke gør det.

Hvis jeg smider mine datoer fra mit array ind i arket i kolonne AA og så kører application.min(Worksheets("I").range("AA1:AA"&cnt)) så virker det fint.

Min teori må være at der er et 0 gemt i mit array, men er vi ikke enige om at jeg har defineret mit array til at gå fra 1 to cnt, hvorfor incdates(0) ikke skulle være der?

Enhver hjælp værdsættes
Avatar billede Nanotech Novice
01. juni 2016 - 16:46 #3
Jeg fandt selv løsningen.

array incdates() skal ikke være date det skal være long

herefter kan jeg køre minimum funktionen på mit array, og gemme det i min variabel earlyinc, der er defineret som dato, hvorefter det korrekte svar kommer frem.

Måske application.min() ikke fungerer på variable af typen date?!?
Avatar billede supertekst Ekspert
01. juni 2016 - 16:46 #4
Er det muligt at skjule det personlige - med mindre du vil sende filen. Er vant til at behandle fortrolige data.
Avatar billede supertekst Ekspert
01. juni 2016 - 16:49 #5
Godt du fandt en løsning..
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester