Use o menu suspenso para alterar as células próximas à lista suspensa

Use o menu suspenso para alterar as células próximas à lista suspensa

Sou muito novo em vba e estou interessado em criar um programa que faça o seguinte. Quando um item é selecionado em um menu suspenso, ele cola determinado texto nas células próximas à lista suspensa selecionada.

Por exemplo: Minha lista suspensa contém na coluna A COMMENT MOVE

Quando seleciono "COMMENT" gostaria de preencher na coluna B "ENTER COMMENT" Quando seleciono "MOVE" gostaria de preencher na coluna B "ENTER MOVE TYPE" e na coluna C "ENTER MOVE SPEED"

Gostaria apenas que eles mudassem ao selecionar o menu suspenso, pois estou usando esses dados em células e outras células com base no item do menu suspenso selecionado.

Responder1

Se bem entendi, você poderia fazer isso com VBA ou apenas uma função. No meu exemplo, tenho uma lista em A1e em A4Ambos contendo "COMMENT" e "MOVE".

insira a descrição da imagem aqui

Em B1eu tenho a função=IF(A1="MOVE","ENTER MOVE TYPE",IF(A1="COMMENT","ENTER COMMENT"," "))

E na C1função=IF(A1="MOVE","ENTER MOVE SPEED","")

Para a lista em que A4estou usando VBA na planilha (clique com o botão direito na planilha e selecione "mostrar código")

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range(Target.Address), Range("A4")) Is Nothing And Target.Count = 1 Then
    If Target.Value2 = "MOVE" Then
        Target.Offset(, 1).Value = "ENTER MOVE TYPE"
        Target.Offset(, 2).Value = "ENTER MOVE SPEED"
    ElseIf Target.Value2 = "COMMENT" Then
        Target.Offset(, 1).Value = "ENTER COMMENT"
        Target.Offset(, 2).Value = ""
    Else
        Target.Offset(, 1).Value = ""
        Target.Offset(, 2).Value = ""
    End If
End If
End Sub

Estou usando uma posição relativa do texto Be Ccom a ajuda de .Offsetque menos código precisa ser alterado dependendo da localização da lista.

informação relacionada