Excel 计算当前单元格的值,并将结果放入同一个单元格中
我试图根据单元格的值计算答案,并在宏执行时用计算出的值替换当前值。示例:如果L8的文本值为123,则需要前导8和第n个零,以使其长度为8个字符。所以结果看起来像80000123。以下是迄今为止我所掌握的代码。另外,我只想计算和替换可见行中可见的单元格,因为过滤器将就位。任何帮助都将不胜感激Excel 计算当前单元格的值,并将结果放入同一个单元格中,excel,vba,Excel,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(xl
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
您需要将该值缝合到公式中
cl.Formula = "=Text(" & cl.Value & ", ""80000000"")"
若要将该公式的结果用作实数,请添加一个双一元数
cl.Formula = "=--Text(" & cl.Value & ", ""80000000"")"
'alternate
cl.Formula = "=" & cl.Value & "+80000000"
谢谢成功了!虽然我想保留文本形式的值,但感谢您提供的真实数字提示。