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

问题描述 投票:1回答:1

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

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

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

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

cl.Formula = "=--Text(" & cl.Value & ", ""80000000"")"
'alternate
cl.Formula = "=" & cl.Value & "+80000000"
© www.soinside.com 2019 - 2024. All rights reserved.