ich müsste ein bisschen VBA lernen, ohne kann ich das Problem selber lösen. Anbei eine Beispieltabelle.
Die originale Tabelle hat mehrere hundert Zeilen und mehr als 50 Spalten. Immer wieder mal wird irgendeine Spalte eingefügt. Darum möchte ich unter der Tabellenüberschrift "Nullmenge" die Zählenwenn - Funkion via VBA von
Code:
=ZÄHLENWENN(B2:F2;0)
in
Code:
=ZÄHLENWENN(Tabelle1[@[Montag]:[Freitag]];0)
ändern, wobei Tabelle1 die einzige Tabelle auf dem aktuellen Tabellenblatt sein sollte.
Vielen Dank, die Seite werde ich mir bei Gelegenheit genauer ansehen. Aber hey, das offenbart meine Lücken. in meiner Beispieldatei bekomme ich für
Code:
Option Explicit
Sub zw_aendern() ' ' zw_aendern ' Range("Tabelle1[[#Totals],[Montag]]").FormulaR1C1 = "=COUNTIF(Tabelle1[[Montag]:[Freitag]],0)"
End Sub
die fehlermeldung
Zitat:Die Methode 'Range' für das Objekt '_Global' ist fehl geschlagen
Leider verstehe ich nicht, wie im Vorschlag die Zelle mit der zu verändernden Formel gefunden werden soll.
Das Makro funktioniert. Das wählt aber auch die zu verändernde Zelle direkt an, die ja in meinem Konstrukt veränderlich ist und erst gefunden werden muss.
Kühl, funktioniert und ich verstehe auch etwa wie. :17: Dankeschön.
Eine Kleinigkeit (hoffentlich nur) noch: Die Tabelle wird turnusmäßig erneuert. Das heißt, die Tabellenbezeichnung ändert sich mit jedem neuen Arbeitsblatt. Es wird aber immer nur eine Tabelle je Blatt geben. Kann ich die Tabelle des aktuellen Blatts ohne Namen (hier also ohne 'Tabelle1') ansprechen?
Sub zw_aendern() ' ' zw_aendern ' With ActiveSheet.ListObjects(1).ListColumns("Nullmenge") .DataBodyRange.Formula = "=COUNTIF([@[Montag]:[Freitag]],0)" End With