2017-08-24 2 views
-1

Je voudrais un code VBA pour supprimer le contenu dans une cellule qui se trouve dans la colonne A quand le contenu dans une cellule dans la colonne E est effacée même lignecode VBA pour supprimer Excel 2010

C'est ce que j'ai, ici est ce que je veux ce que j'ai modifié le code et il cesse de fonctionner

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 

je besoin de ce code spécifique lorsque le contenu est effacé dans la colonne E (cellules (n, 5)) pour effacer le contenu de la colonne A (Cellules (n, 1)) sans avoir à passer par-dessus et à l'effacer

+0

Votre code est en train de désactiver les événements et de ne les réactiver que si la cellule A75 est vide. Ce qui signifie que le code ne sera plus jamais exécuté (parce que c'est un événement) une fois que A75 n'est pas vide. Déplacez 'Application.EnableEvents = True' en dehors de votre' If'. (Et vous devrez réactiver manuellement les événements pour que les choses fonctionnent à nouveau.) – YowE3K

Répondre

0

Pas besoin de boucle dans un Worksheet.Change événement. Vous passez la cible (la cellule étant modifiée pour la procédure). Cela fera ce que vous cherchez:

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