Zie onderstaande macro, deze wil ik vereenvoudigen, deze macro pakt een range van 5 getalleen onder elkaar en somt die op onderaan en berekend het percentage van ieder getal t.o.v totaal.
Deze macro wordt d.m.v loops vereenvoudigd, de berekening heb ik al vereenvoudigd en de cel weergave ook, toen kwam het om regel 4 te verenvoudigen, lukt wel, maar de som en de 100% onderaan doet het niet.
Wat doe ik fout hier, hij zet namelijk in de de 6e cel geen totaal en ook geen 100% daarnaast
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Sub perccalc() Dim Bereik As Range Set Bereik = Selection Bereik(6, 1) = Bereik(1, 1) + Bereik(2, 1) + Bereik(3, 1) + Bereik(4, 1) + Bereik(5, 1) Bereik(1, 2) = Bereik(1, 1) / Bereik(6, 1 ) Bereik(2, 2) = Bereik(2, 1) / Bereik(6, 1 ) Bereik(3, 2) = Bereik(3, 1) / Bereik(6, 1 ) Bereik(4, 2) = Bereik(4, 1) / Bereik(6, 1 ) Bereik(5, 2) = Bereik(5, 1) / Bereik(6, 1 ) Bereik(6, 2) = Bereik(6, 1) / Bereik(6, 1 ) Bereik(1, 2).NumberFormat = "0.00%" Bereik(2, 2).NumberFormat = "0.00%" Bereik(3, 2).NumberFormat = "0.00%" Bereik(4, 2).NumberFormat = "0.00%" Bereik(5, 2).NumberFormat = "0.00%" Bereik(6, 2).NumberFormat = "0.00%" End Sub |
Deze macro wordt d.m.v loops vereenvoudigd, de berekening heb ik al vereenvoudigd en de cel weergave ook, toen kwam het om regel 4 te verenvoudigen, lukt wel, maar de som en de 100% onderaan doet het niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Sub perccalc()
Dim Bereik As Range
Dim bereiknew As Double
Set Bereik = Selection
For i = 1 To 6
bereiknew = bereiknew + Bereik(i, 1)
Next i
For i = 1 To 6
Bereik(i, 2) = Bereik(i, 1) / bereiknew
Bereik(i, 2).NumberFormat = "0.00%"
Next i
End Sub |
Wat doe ik fout hier, hij zet namelijk in de de 6e cel geen totaal en ook geen 100% daarnaast
E-Developing