![由於行數從來源檔案中發生變化,因此將公式應用於整列?](https://rvso.com/image/1416715/%E7%94%B1%E6%96%BC%E8%A1%8C%E6%95%B8%E5%BE%9E%E4%BE%86%E6%BA%90%E6%AA%94%E6%A1%88%E4%B8%AD%E7%99%BC%E7%94%9F%E8%AE%8A%E5%8C%96%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%B0%87%E5%85%AC%E5%BC%8F%E6%87%89%E7%94%A8%E6%96%BC%E6%95%B4%E5%88%97%EF%BC%9F.png)
我有一個到文字檔案來源的連接,因此 Excel 工作表會自動更新。因此,每次更新時行數總是在增長。如何將公式套用到整列?
雙擊單元格底角的框僅在連接刷新之前將公式應用於先前的單元格,底部新添加的行不會收到公式。
答案1
您的問題沒有說明您想要應用什麼公式,而是閱讀了當行數未知時如何對整列應用公式。
一些想法
Range("A:A") 'this grabs the entire range
所以,你可以這樣做
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
或者,您可以繼續轉到下一行,直到下一行為空
dim row as integer
row = 1
do while (Range("A" & row).value<>"")
'logic
row= row + 1
loop
您的問題還表明,它僅在您首次加載時執行整個工作表,之後,當您點擊按鈕時,它不會將其應用於新條目。這意味著它沒有正確計算總行數,因此您可以使用類似上面的方法來確保它始終迭代所有行。