我想创建一个Excel宏,可以在不同大小的列上扩展我的公式。
我目前有2个数据透视表,在每个数据库的末尾我创建了一列连接值。
例如:
- 表1:Cols D:I,连接col J.
公式的第一个单元格是J12(=CONCATENATE(D12;E12;F12;G12)
)
- 表2:Cols O:T,连接col U.
具有公式的第一个单元格是U12(与之前相同)
我希望能够在刷新将删除cols J和U的表后按下按钮,并根据表格再次填充公式'的范围内。
我创建了类似的试用代码
Range("J12:M" & LastRow).Formula = "=CONCATENATE ... "
但它没有用。
答案 0 :(得分:1)
如果你想在给定的范围内通过VBA加入一个连接的公式,可以使用这样的东西:
Option Explicit
Public Sub TestMe()
Dim lastRow As Long
lastRow = 42
Range("J12:M" & lastRow).Formula = "=CONCATENATE(INDIRECT(""D""&ROW())," & _
"INDIRECT(""E""&ROW()))"
End Sub
有一些棘手的部分:
ROW()
获取行; .Formula
强制使用Excel公式的英文版本; ""
来逃避单"
; INDIRECT()
获取单元格的值;