Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA宏-在选定单元格上运行_Vba_Excel - Fatal编程技术网

Excel VBA宏-在选定单元格上运行

Excel VBA宏-在选定单元格上运行,vba,excel,Vba,Excel,在VBA写作方面,我是一个完全的新手,我一直在寻找一个可以用来解决我的问题的答案。我见过一些相关的问题,但没有一个是我能申请的 我有一个录制的宏,它使用串联函数将前导0简单地添加到一个数字中。我使用的是相对引用,因此宏将在A列中选择的任何单元格上运行。如果我希望逐个向每个单元格添加前导零,则此操作有效。但是,我希望能够简单地选择A列中要添加前导0的单元格,然后立即在所有选定单元格上运行宏。非常感谢您的帮助 Sub leadingzerotake2() ActiveCell.Offset(0,

在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

谢谢你

只需将此代码放入工作表模块中即可-

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
cell.Value = "0" & cell.Value