Avatar billede tjensen Nybegynder
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
Avatar billede tjensen Nybegynder
09. juli 2008 - 13:10 #1
Giver op på denne kode...
Avatar billede tjensen Nybegynder
09. juli 2008 - 19:50 #2
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
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
Kurser inden for grundlæggende programmering

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