Как отобразить значение ячейки в другую ячейку с условием IF - PullRequest
0 голосов
/ 24 декабря 2018

Предположим, у меня есть такая таблица в Excel -

+-------------+----------+------------+
| Google Name | D11 Name |   Entry    |
+-------------+----------+------------+
| REN         | MLR      |            |
| THU         | SDT      |            |
| SIX         | SDS      |            |
| HOH         | HBH      |            |
| STR         | ADS      |            |
| HEA         | BRH      |            |
| PRS         | PS       |            |
| STA         | MLS      |            |
+-------------+----------+------------+

Теперь я введу что-то в столбец Entry.Если значение соответствует значению Google Name, оно должно измениться на соответствующее значение D11 Name.Что означает это -

+-------------+----------+------------+
| Google Name | D11 Name |   Entry    |
+-------------+----------+------------+
| REN         | MLR      | SIX -> SDS |
| THU         | SDT      |            |
| SIX         | SDS      |            |
| HOH         | HBH      |            |
| STR         | ADS      |            |
| HEA         | BRH      |            |
| PRS         | PS       |            |
| STA         | MLS      |            |
+-------------+----------+------------+

Если я введу SIX, окончательная запись будет SDS, -> только для объяснения цели.

1 Ответ

0 голосов
/ 24 декабря 2018

Если вы хотите изменить типизированный ввод на значения, извлеченные из поиска, вам потребуется VBA и управляемая событиями подпроцедура Worksheet_Change.

Откройте личный кодовый лист рабочего листа (щелкните правой кнопкой мыши на вкладке имени рабочего листа иПросмотреть код), затем вставьте этот код.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("C:C")) Is Nothing Then
        On Error GoTo sub_exit
        Application.EnableEvents = False
        Dim t As Range, m As Variant
        For Each t In Intersect(Target, Range("C:C"))
            m = Application.Match(t.Value2, Range("A:A"), 0)
            If Not IsError(m) Then
                t = Cells(m, "B").Value2
            End If
        Next t

    End If

sub_exit:
    Application.EnableEvents = True
End Sub

enter image description here

...