Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zwischensumme in Abhängigkeit von sichbarem Bereic

Forumthread: Zwischensumme in Abhängigkeit von sichbarem Bereic

Zwischensumme in Abhängigkeit von sichbarem Bereic
23.09.2004 14:05:06
sichbarem
Hallo,
durch bestimmte Filter- und Sortiervorgänge kann sich ergeben,
dass folgende Daten stehenbleiben.
Namen in Apalte A:
In Zeilen 107, 108 und 109 steht Anton, 110 - 112 werden nicht
angezeigt und in Zeilen 113 bis 120 steht Ludwig.
Frage:
Kann ich eine bedingte Formatierung in einer Spalte D so formulieren,
dass nur dann eine kumulierte Zwischensumme aus C in schwarzer Schrift
angezeigt wird, wenn sich in der nächsten Zeile der Name ändert,
ansonsten soll die Schriftfarbe "weiß" sein. In D109 müsste dann eine
Zwischensumme lesbar sein aus C107 bis C109.
Vielen Dank für eure Hinweise! - Vielleicht gibt es noch eine andere
Möglichkeit.
mfG
Hansi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
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

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige