Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
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

Dynamische Spaltenangabe VBA Zellformel

Dynamische Spaltenangabe VBA Zellformel
10.03.2023 11:47:52
Hundeliebhaber
Hallo,
ich komme an folgender Stelle nicht weiter:
Ich brauche für folgende beiden Dinge die dynamische Spaltenangabe, also es ist nicht immer G2, sondern kann auch H2 oder L2 sein. Die Zeile 2 und C2 bleiben immer gleich.
Beim zweiten Code ist es entsprechend dann nicht immer H2, sondern kann auch I2 oder L2 sein.
Sub TestEins()
Cells(2, Columns.Count).End(xlToLeft).Offset(, 1).Resize(Range("B" & Rows.Count).End(xlUp).Row - 1).Formula2Local = _
  "=STABW(C2:G2)"
End Sub


Sub TestZwei()
ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Offset(, 1).Resize(Range("B" & Rows.Count).End(xlUp).Row - 1).Formula2Local = _
  "=WENN(H2=0;""GLEICH"";""UNGLEICH"")"
End Sub

Vielen Dank schon einmal vorab.
LG Hundeliebhaber

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Spaltenangabe VBA Zellformel
10.03.2023 12:01:26
Daniel
HI
das kommt jetzt darauf an, wie du die Spalte ermittelst, bzw wovon es abhängt, welche Spalte verwendet werden soll.
wenn der Zellbereich von STABW immer von C2 bis zur linken Nachbarzelle der Formel gehen soll, könntst du du die Z1S1-Addressierungsmethode verwenden.
Bei der steht Z für Zeile und S für Spalte. Danach folgt für die Zeilen- oder Spaltennummer für eine absoluten Zellbezug.
Relative Zellbezüge erstellt man hier, in dem man statt der Zeilen/Spaltennummer den jeweiligen Versatzwert in Klammern dahinter schreibt, also bspw S(-1) für die linke Nachbarzelle.
Geht der bezug auf die gleiche Zeile oder Spalte (0), dann darf man das weglassen, dh Z(0)S(0) bzw dann ZS ist die Zelle mit der Formel selbst.
.Formula2R1C1Local =  "=STABW(ZS3:ZS(-1))"
Berechnest du die Spalte anderweit und hast die Spalte in einer Variablen, dann muss du eben den Formeltext aus mehreren Bestandteilen zusammenstückeln, dazu gibt es " & ".
Auch hierbei kann Z1S1 hilfreich sein, wenn man die Spalte als Nummer bekommt, muss man nicht in den Buchstaben konvertieren:
Spalte = 8
.Formula2Local =  "=WENN(ZS" & Spalte & "=0;""GLEICH"";""UNGLEICH"")"
Gruß Daniel
Anzeige
AW: Dynamische Spaltenangabe VBA Zellformel
10.03.2023 12:08:16
Rudi
Hallo,
so?
Sub TestEins()
Cells(2, Columns.Count).End(xlToLeft).Offset(, 1).Resize(Range("B" & Rows.Count).End(xlUp).Row - 1).FormulaR1C1 = _
  "=STDEV(RC3:RC[-1])"
End Sub
Sub TestZwei()
ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Offset(, 1).Resize(Range("B" & Rows.Count).End(xlUp).Row - 1).FormulaR1C1 = _
  "=IF(RC[-1]=0;""GLEICH"";""UNGLEICH"")"
End Sub
Gruß
Rudi
AW: Dynamische Spaltenangabe VBA Zellformel
10.03.2023 12:12:52
Hundeliebhaber
Entschuldigt bitte, ich hatte vergessen zu erwähnen, dass es die letzte gefüllte Spalte in Zeile 2 sein soll.
AW: Dynamische Spaltenangabe VBA Zellformel
10.03.2023 16:12:48
Hundeliebhaber
Danke jedenfalls an beide Anwortgeber, denn es geht beides.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige