簡體   English   中英

在清除工作表中的所有單元格后,不要運行Sub Worksheet_Change(ByVal Target As Range)

[英]Don't run Sub Worksheet_Change(ByVal Target As Range) after all cells in the worksheet has been cleared

我有一個宏,在其中導入文本文件並使用該宏更新此文件的某些元素,然后使用更新的元素重新創建文本文件。 我正在驗證特定工作表(USERSHEET)中的某些單元格,以確保用戶輸入正確並使用下面的Sub:

    Option Explicit
Public Rec_Cnt As Integer
Private Sub Worksheet_Change(ByVal Target As Range)

Rec_Cnt = Sheets("MD").Cells(3, 7)
Dim Rng1 As Range
Dim Rng2 As Range
Dim Rng3 As Range

Set Rng1 = Range("E2:E" & Rec_Cnt)
Set Rng2 = Range("K2:K" & Rec_Cnt)
Set Rng3 = Range("Q2:Q" & Rec_Cnt)


If Not Application.Intersect(Target, Rng1) Is Nothing Then
If Len(Target) > 10 Then
   Call Original_Ticket_Error
Exit Sub
End If
ElseIf Not Application.Intersect(Target, Rng2) Is Nothing Then
If Len(Target) > 10 Then
   Call Original_Cnj_Ticket_Error
Exit Sub
End If
ElseIf Not Application.Intersect(Target, Rng3) Is Nothing Then
If Len(Target) > 10 Then
   Call Original_Ticket_Error
Exit Sub
End If
End If

End Sub

Sub Original_Ticket_Error()
MsgBox "Original Ticket Number is more 10 characters"
End Sub

Sub Original_Cnj_Ticket_Error()
MsgBox "Original Conj. Ticket Number is more 10 characters"
End Sub

================================================== =============================一旦使用更新的列創建了文本文件,我將清除USERSHEET中的所有單元格。 但是,我收到類型不匹配的運行時錯誤“ 13”

我想檢查一下如何清除工作表(USERSHEET)后避免調用Private Sub Worksheet_Change(ByVal Target As Range)

任何幫助深表感謝。

謝謝,sachin


編輯:

用於清除用戶表的代碼:

Sub Clear_User_Sheet()
    Sheets("UserSheet").Select
    Range("A2:R100002").Select
    Application.Wait (Now + TimeValue("0:00:01"))
    Selection.Delete
    Application.EnableEvents = False
    Application.Wait (Now + TimeValue("0:00:01"))
    Selection.Delete
    Selection.Delete
    Sheets("Control Panel").Select
End Sub

請嘗試使用此版本的Clear_User_Sheet

Sub Clear_User_Sheet()
    Application.EnableEvents = False
    Sheets("UserSheet").Range("A2:R100002").Delete
    Application.EnableEvents = True
End Sub

PS。 如果你使用的是你在編輯答案提出的代碼,你可能會發現, EnableEvents目前設定為False -你要糾正運行之前別的。

暫無
暫無

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

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