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

Formel in Zelle schreiben ohne festen Zellbezug

Formel in Zelle schreiben ohne festen Zellbezug
07.09.2019 11:40:31
Oisse
Hallo Zusammen,
ich habe folgende Formel, um damit Zellen zu füllen:

For i = 2 To ls_Bau
.Cells(Zeile + 1, i).FormulaLocal = "=ZÄHLENWENN((" & Cells(4, i).Address & ":" & _
Cells(Zeile - 1, i).Address & ");""*"")"
Next i

In der Zelle steht dann Beispielsweise:

=ZÄHLENWENN(($D$4:$D$26);"*")

Ich hätte die Formel aber gerne dynamisch erstellt, sodass der Zeilenbereich erweitert werden kann und nicht jedesmal die Formel neu geschrieben werden muss.
Wie kann ich das bereits beim Erstellen der Formel in VBA erreichen?
Dankeschön
Gruß Oisse

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in Zelle schreiben ohne festen Zellbezug
07.09.2019 13:00:10
Hajo_Zi
was ist daran kompliziert in der Bearbeitungsleiste 26 durch 135 zu ersetzen?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Formel in Zelle schreiben ohne festen Zellbezug
07.09.2019 13:16:18
Nepumuk
Hallo Oisse,
teste mal:
For i = 2 To ls_Bau
    .Cells(Zeile + 1, i).FormulaLocal = "=ZÄHLENWENN((" & Cells(4, i).Address(False, False) & ":" & _
        Cells(Zeile - 1, i).Address(False, False) & ");""*"")"
Next i

Gruß
Nepumuk
Anzeige
AW: Formel in Zelle schreiben ohne festen Zellbezug
07.09.2019 13:23:21
fcs
Hallo Oisse,
du kannst Parameter für Address angeben, so dass die Bezüge in der Formel nicht alle Absolut sind.
    For i = 2 To ls_Bau
.Cells(Zeile + 1, i).FormulaLocal = _
"=ZÄHLENWENN((" & Cells(4, i).Address(rowabsolute:=True, columnabsolute:=False, _
ReferenceStyle:=xlA1) _
& ":" & Cells(Zeile - 1, i).Address(rowabsolute:=False, columnabsolute:=False, _
ReferenceStyle:=xlA1) & ");""*"")"
Next i

'Alternative VBA-Anweisung zum Erstellen der Formeln
        .Range(.Cells(Zeile + 1, 2), .Cells(Zeile + 1, ls_Bau)).FormulaR1C1 = _
"=COUNTIF((R4C:R[-2]C), ""*"")"
Die Formel sieht dann z.B. so aus:
=ZÄHLENWENN((B$4:B14); "*")
Hoffe das ist das was dir weiterhilft.
LG
Franz
Anzeige
Funtioniert super
07.09.2019 13:49:01
Oisse
Hallo Franz, hallo Nepumuk,
eure Antworten sind klasse. Bin begeistert!
Vielen herzlichen Dank
Schönes WE
sorry, Test
08.09.2019 12:16:19
hans

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige