AW: Zwischensumme in Abhängigkeit von sichbarem Bereic
24.09.2004 21:50:36
sichbarem
Da ich mich in VBA besser auskenne, als mit den Zählenwenn... und formatieren-wenn ...
habe ich kurz eine Proc geschrieben, mit der das Ergebnis im nu berechnet und an die richtigen Stellen geschrieben wird - und was will man mehr?!
hier ist sie (zum Starten habe ich mir aus der Symbolleiste "Formular" einen ganz normalen Bottton geholt. Danach sollte ich ihn mit (m)einer Prozedur verknüpfen - also zuerst den code in den VB-Editor (Alt + F11) kopieren, dann den Knopf in`s excel-sheet holen (Beschriftung ggf. umbenennen)- verbinden - fertig!
hier ist die Prozedur:
Sub Schaltfläche4_BeiKlick() <- umbenennen in etwas Sprechendes
Dim start_zl%, zsum%
Dim name_alt As String
start_zl = ActiveCell.Row
Cells(start_zl, 1).Select
name_alt = ActiveCell.Value
zsum = ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(1, 0).Select ' eins nach unten
Do
If ActiveCell.Value = name_alt Then ' kein Gruppenwechsel
zsum = zsum + ActiveCell.Offset(0, 2).Value ' gar nix ?
Else ' Gruppenwechsel
name_alt = ActiveCell.Value ' neuen Vergleichswert retten
ActiveCell.Offset(-1, 3).Value = zsum ' Ergebnis schreiben
zsum = 0 ' Var. zsum auf 0 setzen
zsum = zsum + ActiveCell.Offset(0, 2).Value
End If
ActiveCell.Offset(1, 0).Select ' eins nach unten
If ActiveCell.Value = "" And ActiveCell.Offset(0, 2).Value = "" _
Then
ActiveCell.Offset(-1, 3).Value = zsum
Exit
Sub ' Abbruch - ggf über höchste Zeilenzahl ...?
End If
Loop
End Sub