【发布时间】:2020-01-04 17:15:00
【问题描述】:
我在 excel 中创建了一个 VBA 宏。它的工作原理并不完全符合我的要求。
我希望宏在 C1:C160 范围内的每个单独的单元格中为 B2:B160 范围内非空的每个单元格插入一个公式
我的代码如下:
Sub Check()
Dim dat As Variant
Dim rng As Range
Dim i As Long
Set rng = Range("B2:B160")
dat = rng
For i = LBound(dat, 1) To UBound(dat, 1)
If dat(i, 1) <> "" Then
rng(i, 2).Formula = "=RIGHT(B2, LEN(B2)-12)"
End If
Next
End Sub
问题是它在每个单元格中插入了相同的公式。公式不是动态的。 我怎样才能让它动态,所以单元格 C3 有公式:“=RIGHT(B3, LEN(B3)-12) 等等。
任何提示都会有所帮助,谢谢!
【问题讨论】:
-
你真的需要公式吗?还是您的目标只是从 B 列中获取部分字符串?您可能有一小部分样本数据吗?
标签: excel vba excel-formula