计算当前单元格值,并将结果放入同一销售中

时间:2018-03-03 22:19:22

标签: excel excel-vba vba

我正在尝试根据单元格的值计算答案,并使计算值在宏执行时替换当前值。示例:如果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

1 个答案:

答案 0 :(得分:1)

您需要将值拼接到公式中。

cl.Formula = "=Text(" & cl.Value & ", ""80000000"")"

要将该公式的结果用作真数,请添加双一元。

cl.Formula = "=--Text(" & cl.Value & ", ""80000000"")"
'alternate
cl.Formula = "=" & cl.Value & "+80000000"