我老实说谷歌搜索但没有运气。
我有一个范围,让我们说
dim rng1 as range, rng2 as range, rng3 as range
set rng1 = "A1:F4"
set rng2 = "A6:F9"
set rng3 = union( rng1, rng2 )
现在我想在该范围内的所有单元格中输入公式=sum(1+1)
,这些单元格位于该范围的第3列中,因此
C1:C4 = sum(1+1), C6:C9 = sum(1+1)
当我这样做时
rng1.columns(3).formula = "=sum(1+1)"
vba仅输入C1:C4中的公式。我想这是因为我的范围是不连续的。有没有办法让它保持一条线并完成任务?
到目前为止,我通过类似
的方式进行管理dim i as integer
dim arr1(0 to 1) as range
arr1(0) = rng1
arr1(1) = rng2
for i = 0 to ubound(arr1)
arr1(i).column(3).formula = "=sum(1+1)"
next i
我没有通过Intersect
尝试一种可能的解决方法,这是
rng4 = intersect( range("A1:F9"), rng3)
rng4.formula = "=sum(1+1)"
但是我怀疑它会起作用,因为rng将是另一个不连续的范围。
有什么想法吗?
答案 0 :(得分:1)
尝试添加此行:
Application.Intersect(rng3, rng3.Worksheet.Columns(3)).Formula = "=sum(1+1)"