2017-08-24 130 views
-1

我想一個VBA代碼來刪除這是在A列單元格中的內容時,在E列單元格中的內容被清除同一行VBA代碼以刪除Excel 2010中

這是我在這裏就是我想要的是什麼,我改變了代碼,它停止工作

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim n As Integer 
    For n = 5 To 75 
     Application.EnableEvents = False 
     If VarType(Cells(n, 1)) = vbEmpty Then 
      Cells(n, 4).ClearContents 
      Cells(n, 5).ClearContents 
      Cells(n, 6).ClearContents 
      Application.EnableEvents = True 
     End If 
    Next n 
End Sub 

我需要在內容E列被清除(細胞(n,5))來清除列A含量爲這個特定的代碼(單元格(n,1)),而不必刪除並刪除它

+0

你的代碼是禁用事件,只有重新啓用它們,如果單元格A75爲空。這意味着一旦A75不是空的,代碼將永遠不會再運行(因爲它是一個事件)。在'If'之外移動'Application.EnableEvents = True'。 (並且您需要手動重新啓用事件才能使事情再次運行。) – YowE3K

回答

0

在中不需要循環事件。您正將目標(要修改的單元格傳遞給該過程)。這將做你在找什麼:

Private Sub Worksheet_Change(ByVal Target as Range) 
    If Target.Column = 5 Then 
      If Target.Value = vbEmpty Then 
       Cells(Target.Row,1).ClearContents 
      End If 
    End If 
End Sub