Absoluter Zellbezug ändert sich automatisch nach Makroausführung. Hilfe mittels Index?

... komplette Frage anzeigen

2 Antworten

Die Frage bezieht sich sicherlich auf die vorherige, um summewenn für nicht ausgeblendete Zeilen zu ermitteln. Wenn in der Datei ohnehin ein Makro verwendet wird, dann könntest Du auch eine eigene Funktion zum Zählen verwenden (die Nachteile bzgl. Makros in der Datei hast Du ja eh)

Die Hilfsspalte entfällt damit. Die Formel aktualisiert sich allerdings nicht bei Änderungen des Filters automatisch -> F9 drücken.

Die Parameter habe ich so bezeichnet wie bei summewenn, die Funktion selbst um Irrititationen zu vermeiden aber englisch

In die Tabelle also =sumif_visible_cells(N8:N60000;"test";P8:P60000)

Den Code in ein Modul hinterlegen (Entwicklertools > VBA. Rechtsklick Einfügen > Modul)

Function Sumif_Visible_Cells(Bereich As Range, Suchkriterium As String, Summenbereich As Range)
Application.Volatile
Total = 0
For Each cell In Bereich
If cell.Rows.Hidden = False And cell.Value = Suchkriterium Then
If cell.Columns.Hidden = False Then
Total = Total + cell.Offset(0, Summenbereich.Column - Bereich.Column).Value
End If
End If
Next
Sumif_Visible_Cells = Total
End Function
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ninombre
21.09.2016, 22:48
zwei zeilen kannst Du streichen, die sind hier Quatsch (machen nix kaputt, aber unnötig):
if cell.columns.hidden=false
und
end if
Deine Spalten sind ja immer sichtbar, nur einzelne Zeilen nicht. Das passiert, wenn man bestehendes Zeug umbaut und nicht frisch anfängt.
0

Summenprodukt kann mit den fehlenden Zeilen in R nichts anfangen. Es müssen ALLE Anzahlen übereinstimmen, so dass JEDES Einzelprodukt definiert ist.

GGf musst Du die Hilfsspalte R erweitern und/oder neu berechnen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von patrickR23
21.09.2016, 13:38

Meine aktuelle Formel lautet: =SUMMENPRODUKT((INDEX($N:$N;8):INDEX($N:$N;60000)="test")*(INDEX($R:$R;8):INDEX($R:$R;60000)*(INDEX($P:$P;8)*INDEX($P:$P;60000))))

Hiermit würde ich die Zeilen auf 60.000 festlegen.

Die Hilfsspalte "R" neu berechnen hilft leider nichts, sondern ich müsste in der Formel dann den Wert auf die Zeile ändern, die P bzw. R hat.

0

Was möchtest Du wissen?