嗨,有人可以用一些VBA代码启发我,将公式= LEFT(H2,5)插入M列,然后停在最后一行数据。 它将引用的数据将从Web中插入,因此当我刷新数据时,行可能会或多或少,因此如果不使用VB就无法修复
由于 里斯
答案 0 :(得分:1)
for while循环适合你吗?
Dim i As Integer
i = 2 'starting row number
While Cells(i, 1).Value <> "" 'Empty row
Cells(i, 13).Formula = "=LEFT(H2,5)" 'replace this with something for that row, concatenating i to H will work i think.
i = i + 1
Wend
您还希望在刷新数据时将此代码放入,以便将公式再次插入所有行。
答案 1 :(得分:1)
Dim x As Long
x = Application.CountA(ActiveSheet.Columns(13))
ActiveSheet.Cells(2, 13) = "=LEFT(H2,5)"
ActiveSheet.Cells(2, 13).Resize(x - 1).Formula = ActiveSheet.Cells(2, 13).Formula
使用excel函数CountA获取需要填充的行总数并将该数字分配给x
然后将实际公式放在单元格M2上,然后使用调整大小函数将公式复制到最后一行
答案 2 :(得分:1)
你不需要循环:
Sub qwerty()
Dim N As Long, r As Range
N = Cells(Rows.Count, "H").End(xlUp).Row
Set r = Range("M2:M" & N)
r.Formula = "=LEFT(H2,5)"
End Sub
您会发现公式中的地址调整就像复制/粘贴一样。