我正在尝试根据单元格的值计算答案,并使计算值在宏执行时替换当前值。示例:如果L8的文本值为123,我需要有一个前导的第8和第n个零,以使其长度为8个字符。所以结果看起来像80000123.下面是我到目前为止的代码。此外,我只想计算和替换可见行中可见的单元格,因为过滤器将就位。任何帮助将不胜感激。
Sub test()
Dim rng As Range
Dim cl As Range
Set rng = Range("L4:L" & Cells(Rows.Count, "L").End(xlUp).row)
For Each cl In rng.Cells
If IsNumeric(cl.Value) And Len(cl.Value) > 0 Then
cl.Formula = "=Text((rng), ""80000000""))" 'this line errors out
End If
Next
End Sub
答案 0 :(得分:1)
您需要将值拼接到公式中。
cl.Formula = "=Text(" & cl.Value & ", ""80000000"")"
要将该公式的结果用作真数,请添加双一元。
cl.Formula = "=--Text(" & cl.Value & ", ""80000000"")"
'alternate
cl.Formula = "=" & cl.Value & "+80000000"