Как выполнить автозаполнение на основе значений в нескольких ячейках - PullRequest
0 голосов
/ 28 марта 2019

Первый вопрос, надеюсь, я все делаю правильно ...

У меня есть ряд данных в ячейках A: C Давайте возьмем для примера:

  • Ячейка A2 = Apple
  • Ячейка B2 = Банан
  • Ячейка C3 = Помидор

Внутри Ячейка D3 Мне бы хотелось, чтобы она была Автозаполнение как "Фрукт". Если какие-либо ячейки из A: C не являются одним из этих выделенных, вернуть пустое. Цель состоит в том, чтобы иметь выпадающие списки для ячеек A: C и возвращать определенные значения на основе их комбинации. Как это было бы легко сделать, используя VBA вместо формул?

Я могу сделать это для отдельных ячеек, но не для нескольких.

1 Ответ

0 голосов
/ 28 марта 2019

В приведенном ниже коде я использую Шаг 2 , который проверяет значения каждые две строки.Вы можете удалить его, если хотите проверить каждую строку.

Option Explicit

Sub test()

    Dim LastRow As Long, Row As Long

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        For Row = 2 To LastRow Step 2

            If .Range("A" & Row).Value = "Apple" Or .Range("A" & Row).Value = "Banana" Or .Range("A" & Row).Value = "Tomato" Then
                If .Range("B" & Row).Value = "Apple" Or .Range("B" & Row).Value = "Banana" Or .Range("B" & Row).Value = "Tomato" Then
                    If .Range("C" & Row + 1).Value = "Apple" Or .Range("C" & Row + 1).Value = "Banana" Or .Range("C" & Row + 1).Value = "Tomato" Then
                        .Range("D" & Row + 1).Value = "Fruits"
                    End If
                Else
                    Exit For
                End If
            Else
                Exit For
            End If

        Next Row

    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...