Limpando um valor quando uma opção é selecionada em um menu suspenso no Excel (VBA)

0

Bom dia,

Estou tentando escrever um código no VBA que, ao selecionar em um menu suspenso do D2, limpará qualquer valor de E2 e F2 sem remover a formatação.

Eu tentei seguir o bom, mas por algum motivo eu não estou conseguindo obter nenhum resultado.

   Option Explicit
     Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("D")) Is Nothing Then
             If Target.Address = "$D$2" Then
             Range("E:F" & Target.Row).ClearContents
             End If
         End If
      End Sub
    
por Waleed Tubaileh 26.07.2016 / 08:44

1 resposta

0

Tente isto:

   Option Explicit
     Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("D2")) Is Nothing Then
             Range("E" & Target.Row & ":F" & Target.Row).ClearContents
        End If
      End Sub

Ou, se você quiser verificar as coisas para outras linhas, talvez

   Option Explicit
     Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("D")) Is Nothing Then
             If Target.Row = 2 Then
                Range("E" & Target.Row & ":F" & Target.Row).ClearContents
             End If
             If Target.Row = 4 Then
                ' do some other stuff
             End If
         End If
      End Sub
    
por 26.07.2016 / 08:50