我正在尝试创建一个宏,该宏将粘贴一个简单的公式以在我选择的单元格上添加零。这就是我所拥有的,但是它仅适用于已定义的单元,并且我不确定如何更改单元地址以在用户选择的任何单元上工作。
Sub TimeConversion()
ActiveCell.Formula = "=REPT(0,4-LEN(E8)) & E8"
End Sub
有人可以告诉我我做错了吗?我只需要能够选择各种单元格并在其上运行REPT公式即可。
谢谢!
答案 0 :(得分:2)
一个基本原理是使用worksheet_SelectionChange事件,但您可能希望将其限制为某些单元格,否则,您在工作表中选择的具有该事件的任何单元格都会获得公式。感谢@GMalc阐明了要求并提出了修改。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Target.NumberFormat = "0000"
Application.EnableEvents = True
End Sub
您可以使用“相交”和指定范围来限制某些单元格。
代码进入要在其中显示公式的工作表的代码窗格中。类模块。
答案 1 :(得分:1)
此宏会将四个零添加到所选单元格。
For Each cell In Selection
cell.NumberFormat = "@"
cell.Value = WorksheetFunction.Rept("0", 4) & cell
Next
答案 2 :(得分:0)
如果您要在Excel-Formula
中应用的Excel-VBA
中寻找解决方案,那么就在这里。
Sub test()
ActiveCell.Formula = "=REPT(0,4-LEN(E" & ActiveCell.Row & "))& E" & ActiveCell.Row & ""
End Sub