Sumfunktion med flere opslag og sum over flere ark - tillæg
Dette spørgsmål er et tillæg til http://www.eksperten.dk/spm/754234Når mit første afdelingsark ikke indeholder FraMåned og FraÅr opstår der en fejl og funktionen vil ikke summerer de efterfølgende måneder og afdelinger.
Hvis jeg eksempelvis har en afdeling 1 med månedstal startende fra Jan (Januar) og lægger det ark som det første efter mit sumark virker det fint hav blot de efterfølgende afdelingsark starter med månedstal fra Jan eller senere.
Hvis jeg lægger et afdelingsark med månedstal startende Mar (Marts) som det første efter mit sumark og de efterfølgende afdelingsark starter Jan (januar) kan jeg ikke vælge en fra måned og år der ligger før Mar (Marts).
Er der en der kan løse problemet?
Funktionen ser således ud:
Function TSum(Konto, FraMåned, FraÅr, TilMåned, TilÅr)
Application.Volatile
Dim ws, t, Drk, Krk, FraKol, TilKol, ArkSum
For ws = 2 To Sheets.Count
For t = 1 To Sheets(ws).Cells(65500, 1).End(xlUp).Row
If Sheets(ws).Cells(t, 1) = "Month name" Then Drk = t: Exit For
Next
For t = 1 To Sheets(ws).Cells(65500, 1).End(xlUp).Row
If Sheets(ws).Cells(t, 1) = Konto Then Krk = t: Exit For
Next
For t = 3 To Sheets(ws).Cells(Drk, 256).End(xlToLeft).Column
If Left(Sheets(ws).Cells(Drk, t), 3) = FraMåned And Right(Sheets(ws).Cells(Drk, t), 2) = FraÅr Then
FraKol = t: Exit For
FraKol = 3
End If
Next
'If FraKol = "" Then FraKol = 3
For t = 3 To Sheets(ws).Cells(Drk, 256).End(xlToLeft).Column
If Left(Sheets(ws).Cells(Drk, t), 3) = TilMåned And Right(Sheets(ws).Cells(Drk, t), 2) = TilÅr Then
TilKol = t: Exit For
End If
Next
If TilKol = "" Then TilKol = Sheets(ws).Cells(Drk, 256).End(xlToLeft).Column
If TilKol < 3 Then TilKol = 3
ArkSum = ArkSum + Application.Sum(Sheets(ws).Range(Chr(FraKol + 64) & Krk & ":" & Chr(TilKol + 64) & Krk))
Next
TSum = ArkSum
End Function
