簡體   English   中英

Excel VBA宏 - 在選定的單元格上運行

[英]Excel VBA Macro - Run on Selected Cells

在VBA寫作時,我是一個完整的新手,並且一直在尋找一個我可以用來解決我的問題而沒有運氣的答案。 我已經看到了一些相關的問題,但我沒有能夠申請。

我有一個錄制的宏,只需使用連接函數將前導0添加到數字。 我正在使用相對引用,以便宏將在列A中選擇的任何單元格上運行。如果我想逐個向每個單元格添加前導零,則此方法有效。 但是,我希望能夠簡單地選擇列AI中的單元格想要添加前導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

由於此功能可能會運行很長時間,因此我將此操作限制為最多1000個單元格選擇。 如果您願意,可以刪除此部分。

順便說一句,如果您只想在所選單元格的內容中添加前導零,我會 -

cell.Value = "0" & cell.Value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM