Excel 在哪里放置我的代码-VBA

Excel 在哪里放置我的代码-VBA,excel,vba,Excel,Vba,我有一个代码在我的工作表上运行。此代码包含两个子例程。但是我想在我所有的工作表中运行这段代码,我想知道什么是最好的方法 正在运行的总代码如下所示: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Rng As Range Set Rng = Range(Cells(3, 6), Cells(500, 7)) Dim Intersection Set Intersection = Application.I

我有一个代码在我的工作表上运行。此代码包含两个子例程。但是我想在我所有的工作表中运行这段代码,我想知道什么是最好的方法

正在运行的总代码如下所示:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Rng As Range
Set Rng = Range(Cells(3, 6), Cells(500, 7))
Dim Intersection
Set Intersection = Application.Intersect(Target, Rng)

If Target.Cells.Count = 1 Then
    If Not Intersect(Target, [B2]) Is Nothing Then _
        Range("E:E").Find(vbNullString, [E3], , , , xlNext).Select
End If

If Not Intersection Is Nothing Then
    If IsNumeric(Selection.Value) And Selection.Value <> "" Then
        If (GetAsyncKeyState(vbKeyRButton)) Then 'right mouse button
            Selection.Value = (Selection.Value + 1)
            Cells(Selection.Row, 1).Select
        End If
    End If
End If

End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Rng As Range
    Set Rng = Range(Cells(3, 6), Cells(500, 7))
    Dim Intersection
    Set Intersection = Application.Intersect(Target, Rng)

    If Not Intersection Is Nothing Then
    Cancel = True
    End If
End Sub

如果有人能给我小费,我将不胜感激

将代码放入模块中。你可以点击下面的链接


将代码放在另一个位置更为复杂。如果你把你的代码放在一个正确的模块中,你需要告诉它在其他工作表上运行。您的代码也可以从工作表对象代码模块写入,以应用于任何打开或关闭工作簿中的任何工作表。这都是关于它是如何写的


您是否在代码中使用类似于我或ActiveSheet的作品?这是一个危险信号,无论你把它放在哪里,结果可能都不是你想要的

如果希望更改事件对工作簿中的所有工作表有效,请将代码放入ThisWorkbook模块并使用工作簿\u SheetChange事件。当任何工作表中的任何单元格发生更改时,将触发此事件

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

正如目前所说的,很难说出你的确切问题是什么。现在的答案可能太宽泛了,如果我们能看到您正在使用的代码,那么可能会产生一些容易避免的错误。要获得更具体的答案,请考虑修改您的问题,包括您使用的实际子例程代码。不,我不使用“我”或“活动表”。如果我把它放在一个模块里。我是否需要添加代码,以便它在每个工作表中自动运行。或者我需要在每张工作表上调用该模块吗?也不知道如何执行此操作取决于您需要执行的操作。代码需要在什么时候运行?您可以循环浏览所有工作表,并为每个工作表执行代码。如果代码需要运行某些事件,如工作表更改,则需要从工作表中调用模块中的代码,因为模块无法看到事件。发布一些代码,这样我们就可以更好地了解这里发生了什么。