簡體   English   中英

工作表上的工作簿宏

[英]Workbook Macro on Worksheet

我有以下代碼

Private Sub Worksheet_Change(ByVal Target As Range)
    If InRange(ActiveSheet.ActiveCell, Range("M4:M1048576")) Then
        MsgBox "ESTA EN EL RANGO DE M"
        If (Not IsEmpty(ActiveCell.Offset(0, -1))) And (ActiveCell.Offset(0, -1).Value > 0) Then
            Application.EnableEvents = False
            If InStr(1, ActiveCell.Text, "EFECTIVO") > 0 Then
                Call RestaEfectivo
            ElseIf InStr(1, ActiveCell.Text, "BAC Débito") > 0 Then
                Call RestaBAC
            ElseIf InStr(1, ActiveCell.Text, "CITI Débito") > 0 Then
                Call RestaCITI
            ElseIf InStr(1, ActiveCell.Text, "BAC Crédito") > 0 Then
                Call IncrementarCredito
            End If
            Application.EnableEvents = True
        End If
    End If
End Sub

設置為特定的工作表。 但是,我決定將其從工作表中刪除並將其放置在ThisWorkbook上。 我是VBA的新手,所以我不知道我需要在代碼中進行什么更改,因此它可以在每個工作表上執行,現在,代碼根本不會執行。

誰能告訴我我需要在代碼中進行哪些更改,以使其保留在ThisWorkbook上並在每個工作表上執行?

事件偵聽器子在ThisWorkbook模塊中的名稱不同。

只需將代碼主體移至ThisWorkbook模塊中的此事件偵聽器中即可:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    'Place the code here
End Sub

它會工作。

干杯〜


您可以使用下拉菜單查看可用的事件監聽器

在此處輸入圖片說明

選擇一個,VBA將自動為您創建子。

HTH。

暫無
暫無

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

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