在VBA写作方面,我是一个完整的新手,并且一直在寻找一个我可以用来解决我的问题而没有运气的答案。我已经看到了一些相关的问题,但我没有能够应用。
我有一个录制的宏,只需使用连接函数将前导0添加到数字中。我正在使用相对引用,以便宏将在列A中选择的任何单元格上运行。如果我想逐个向每个单元格添加前导零,则此方法有效。但是,我希望能够简单地选择A列中的单元格我想要添加前导0,然后立即在所有选定的单元格上运行宏。非常感谢任何帮助!
Sub leadingzerotake2()
ActiveCell.Offset(0, 10).Range("A1").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(""0"",RC[-10])"
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(0, -10).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(0, 10).Range("A1").Select
Application.CutCopyMode = False
Selection.ClearContents
ActiveCell.Offset(0, -10).Range("A1").Select
End Sub
谢谢!!!
答案 0 :(得分:2)
只需将此代码放在工作表模块中即可 -
Array
(
[sweet] => Array
(
[b] => banana
)
[sour] => Array
(
[b] => banana
)
)
由于此功能可能会运行很长时间,因此我将此操作限制为最多1000个单元格选择。 你可以删除这部分。
顺便说一句,如果您只是想在所选单元格的内容中添加前导零,我会把 -
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count < 1000 Then
For Each cell In Target.Cells
'run your fuction here
Next
End If
End Sub