10. februar 2008 - 19:56Der er
4 kommentarer og 1 løsning
oprette en tæller og summere i et array
jeg har et ark hvor der indtastes nogle sælger oplysninger med en ny række for hver sælger for hver dag. oplysningerne er "Sælger initialer", "omsætning" og "antal produkter".
Jeg skal oprette et array indeholdende én række for hver sælger og så skal alle omsætningstallene summes og antal produkter skal summes. Dvs. jeg skal have en tæller til at Redimme arrayet altså:
Array(k,3) ->(k,1)= sælgerinit. (k,2)=total omsæt. (k,3) = totalt antal solgte prod.
Eksempel:
A B C 1 SAK 15000 15 2 KET 10000 5 3 SAK 40000 16 4 ALA 10000 10 5 SAK 5000 1 6 KET 10000 1
Array skal altså i dette tilfælde se således ud tælleren skal her altså være k = 3
1 2 3 1 SAK 60000 32 2 KET 20000 6 3 ALA 10000 10
problemet er at oprette tælleren og summere de 2 andre oplysninger.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Nej - her er et forslag - koden anbringes i det pågældende Ark :
Dim antalRæk, optælTab(), antalSælgere Sub Optælling() Rem Housekeeping antalRæk = findAntalRækker ReDim optælTab(antalRæk, 3) nulstilTabel
optælRækker
visOptælling End Sub Private Function findAntalRækker() findAntalRækker = Cells(Rows.Count, 1) _ .End(xlUp).Offset(1, 0).Row - 1 End Function Private Sub nulstilTabel() For ix = 0 To antalRæk - 1 optælTab(ix, 0) = "" 'sælger-init optælTab(ix, 1) = 0 'omsætning optælTab(ix, 2) = 0 'antal prod. Next ix End Sub Private Sub optælRækker() Dim sælger, oms, antal antalSælgere = 0
For ræk = 1 To antalRæk sælger = Cells(ræk, 1) oms = Cells(ræk, 2) antal = Cells(ræk, 3)
optælItabel sælger, oms, antal Next ræk End Sub Private Sub optælItabel(sælger, oms, antal) For ix = 0 To antalRæk - 1 If optælTab(ix, 0) = sælger Then optælTab(ix, 1) = optælTab(ix, 1) + oms optælTab(ix, 2) = optælTab(ix, 2) + antal Exit Sub Else If optælTab(ix, 0) = "" Then optælTab(ix, 0) = sælger optælTab(ix, 1) = oms optælTab(ix, 2) = antal antalSælgere = antalSælgere + 1 Exit Sub End If End If Next ix End Sub Private Sub visOptælling() Dim rRæk rRæk = antalRæk + 2
For sælger = 0 To antalSælgere - 1 Cells(rRæk, 1) = optælTab(sælger, 0) Cells(rRæk, 2) = optælTab(sælger, 1) Cells(rRæk, 3) = optælTab(sælger, 2) rRæk = rRæk + 1 Next sælger End Sub
Rem = Remark - altså kun en bemærkning HouseKeeping er et "gl. edb-udtryk" for klargøring - altså noget, der udføres inden den egentlige hoved-process.
Og hvorfor er Sælger, omsæt, antal ikke Dim'et til noget? eks. integer?
Synes godt om
Ny brugerNybegynder
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.