08. juli 2008 - 16:20
Der er
1 kommentar og
1 løsning
Summering af konti, array i diminsioner
Hej,
Jeg forsørge at summere nogle beløb jeg har stående i et array (Data). Antallet af konti jeg bruger, er variabel, så det skal være dynamisk. Men kan ikke få det hen. Her er hvad jeg er nået frem til:
Dim AccountArray() As String
CountAccount = 0
For y = 2 To UBound(Data, 1)
WRBRT = Data(y, 3) 'beløb
NEWKO2 = Data(y, 5) 'konto
For i = LBound(AccountArray) To UBound(AccountArray)
If NEWKO2 = AccountArray(i) Then
AccountArray(i, 1) = AccountArray(i, 1) + WRBRT
Else
ReDim Preserve AccountArray(CountAccount)
AccountArray(CountAccount) = NEWKO2
AccountArray(CountAccount, 1) = WRBRT
CountAccount = CountAccount + 1
Next
Next
Skulle nogen være interesseret i min egen løsning, så kommer den her.
Sub Upload()
Dim Ting() As String
Dim Antal() As String
Sheets("input").Select
Data = Range("A1").CurrentRegion
Sheets("output").Select
For CounterData = 1 To UBound(Data, 1)
Datafindes = False
If Len(Join(Ting)) > 0 Then
For TingCounter = LBound(Ting) To UBound(Ting)
If Data(CounterData, 1) = Ting(TingCounter) Then
Datafindes = True
End If
Next
End If
If Datafindes = True Then
For TingCounter = LBound(Ting) To UBound(Ting)
If Data(CounterData, 1) = Ting(TingCounter) Then
Antal(TingCounter) = Antal(TingCounter) + Data(CounterData, 2)
End If
Next
Else
ReDim Preserve Ting(CounterData)
Ting(CounterData) = Data(CounterData, 1)
ReDim Preserve Antal(CounterData)
Antal(CounterData) = Data(CounterData, 2)
End If
Next
For TingCounter = 1 To UBound(Ting)
Cells(TingCounter, 1) = Ting(TingCounter)
Cells(TingCounter, 2) = Antal(TingCounter)
Next
End Sub