![Eine Formel auf eine ganze Spalte anwenden, da sich die Zeilenanzahl in einer Quelldatei ändert?](https://rvso.com/image/1416715/Eine%20Formel%20auf%20eine%20ganze%20Spalte%20anwenden%2C%20da%20sich%20die%20Zeilenanzahl%20in%20einer%20Quelldatei%20%C3%A4ndert%3F.png)
Ich habe eine Verbindung zu einer Textdateiquelle, sodass das Excel-Arbeitsblatt automatisch aktualisiert wird. Daher wächst die Anzahl der Zeilen bei jeder Aktualisierung. Wie kann ich eine Formel auf eine ganze Spalte anwenden?
Durch Doppelklicken auf das Kästchen in der unteren Ecke der Zelle wird die Formel nur auf die vorherigen Zellen angewendet, bevor die Verbindung aktualisiert wird. Die neu hinzugefügten Zeilen unten erhalten die Formel nicht.
Antwort1
In Ihrer Frage ist nicht angegeben, welche Formel Sie anwenden möchten. Es steht dort, wie Sie eine Formel auf eine ganze Spalte anwenden können, wenn die Zeilenanzahl unbekannt ist.
Ein paar Ideen
Range("A:A") 'this grabs the entire range
Sie könnten also Folgendes tun:
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'logic
Next cell
Next row
Oder Sie können mit der nächsten Reihe fortfahren, bis die nächste Reihe leer ist.
dim row as integer
row = 1
do while (Range("A" & row).value<>"")
'logic
row= row + 1
loop
Ihre Frage zeigt auch, dass das gesamte Arbeitsblatt nur beim ersten Laden bearbeitet wird. Wenn Sie danach auf die Schaltfläche klicken, wird es nicht auf neue Einträge angewendet. Dies bedeutet, dass die Gesamtzahl der Zeilen nicht korrekt gezählt wird. Sie können also möglicherweise etwas wie das Obige verwenden, um sicherzustellen, dass immer alle Zeilen durchlaufen werden.