Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1836to1840
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl zählen per VBA / Spalten variabel

Anzahl zählen per VBA / Spalten variabel
16.07.2021 09:14:07
Aleks
Guten Morgen an Alle!
Ich würde gerne die Excel-Formel "=ANZAHL2(A3:A10)" in VBA so gestalten, dass ich diese in einer For-Schleife einbauen kann, um die Zellen der Spalten (in dem Fall "A") variabel zu zählen.
Gezählt werden sollen A3:A10, B3:B10, C3:C10 bis zur letzten vorhanden Spalte. Die Formel soll dann in A2, B2, C2 etc. eingetragen werden.
Die Schleife bestimmt anhand der Werte in Zeile 1, wie lange diese laufen soll.
Also sowas in der Art:
For Spalte = 1 to Worksheets(1).Cells(1, Columns.Count).End(xlToLeft).Column
Worksheets(1).Cells(2, Spalte).FormulaLocal = "=ANZAHL2(Spalte &3:Spalte & 10)"
next Spalte
Hat jemand eine Idee, wie ich die Formel variabel gestalten kann?

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl zählen per VBA / Spalten variabel
16.07.2021 09:29:39
Daniel
HI
wenn du Variablen in Text/Formeln einbauen willst, dann geht das so, hier mal zwei Möglichkeiten:
a) "TextTeil1" & Variable & "TextTeil2"
b) Replace("TextTeil1xxxTextTeil2", "xxx", Variable)
brauchst du hier aber nicht. Verwende die Z1S1/R1C1-Addressierungsart.
insbesondere, wenn wie bei dir gleiche Zeilen/Spalten links und rechts des "=" verwendet werden, werden dann die Formeln einfacher.
außerdem brauchst du hier keine Schleife. Du kannst die Formel in alle Zellen gleichzeitig eintragen (geht immer, wenn die Formel per Copy/Paste übertragbar ist).
auch wenns um berechnete Spalten geht, ist Z1S1 vorteilhaft. Hier gibst du auch die Spalte als Zahl ein, bei A1-Addressierungsart brauchst du den Spaltenbuchstaben, dh du müsstest aus der berechneten Spaltennummer erst noch den Spalten buchstaben machen.

Range(Worksheets(1).Cells(1, 2), Worksheets(1).Cells(1, Columns.Count).End(xlToLeft).Offset(1, 0)).FormulaR1C1Local = "=ANZAHL2(Z3S:Z10S)"
Gruß Daniel
Anzeige
AW: Anzahl zählen per VBA / Spalten variabel
19.07.2021 11:01:48
Aleks
Hallo Daniel,
vielen Dank erst einmal. Leider wurde meine Antwort von letztens nicht gepostet, weshalb ich jetzt diese noch einmal verfassen muss.
Deine Formel sieht sehr interessant aus. Ich würde mein Vorhaben aber gerne variabel haben wollen, nur bekomme ich es mit den Spalten so nicht hin. Auch mit deinen Vorschlägen weiß ich weiterhin nicht, wie ich z.B. durch Replace aus Spalte F (was ja der 6. Spalte entspricht) diese so umändern könnte, so dass ich diese in einer For-Schleife verarbeiten kann.
Mein Beispiel noch einmal:
For Spalte = 1 to Worksheets(1).Cells(1, Columns.Count).End(xlToLeft).Column
Worksheets(1).Cells(2, Spalte).FormulaLocal = "=ANZAHL2(Spalte &3:Spalte & 10)"
next Spalte
Hast du da einen Vorschlag?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige