Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim rngCell As Range

For Each rngCell In Range("A2:A11")

If rngCell.Value = "EC" Then rngCell.Value = "EGG CURRY"
If rngCell.Value = "FC" Then rngCell.Value = "FISH CURRY"

Next

End Sub

Это хороший пример, который я нашел в Интернете. Но мне нужна ссылка на ячейку с другого листа, где в одном столбце я хочу написать «EC», «FC» и т. Д., А в другом столбце я хочу написать «EGG CURRY», FISH CURRY и т. Д.

Пожалуйста помоги

0
Prabhat Vishwas 12 Окт 2019 в 22:31

1 ответ

Лучший ответ

Вы можете использовать ВПР из VBA:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim rngCell As Range, m, v

    For Each rngCell In Range("A2:A11")
        v = rngCell.Value 
        If Len(v) > 0 Then

            'See if the value is in your lookup table
            m = Application.Vlookup(v, _
                 ThisWorkbook.Sheets("List").Range("A1:B100"), 2, FALSE)  

            'If found a match then replace with the vlookup result
            If Not IsError(m) Then rngCell.Value = m 

        End If    
    Next

End Sub
0
Tim Williams 13 Окт 2019 в 04:42