#excel #vba #autofill
#excel #vba #автозаполнение
Вопрос:
Первый вопрос, надеюсь, я все делаю правильно…
У меня есть ряд данных в ячейках A: C, давайте возьмем, к примеру:
- Ячейка A2 = Apple
- Ячейка B2 = Банан
- Ячейка C3 = Tomato
В ячейке D3 я бы хотел, чтобы она автоматически заполнялась как ‘Fruit’. Если какие-либо ячейки из A: C не входят в число выделенных, верните пробел. Цель состоит в том, чтобы иметь выпадающие списки для ячеек A: C и возвращать определенные значения на основе их комбинации. Как бы это легко было сделать, используя VBA вместо формул?
Я могу сделать это для отдельных ячеек, но никогда для нескольких.
Комментарии:
1. Добро пожаловать в SO. Вы отметили этот вопрос с помощью VBA, поэтому, пожалуйста, опубликуйте код, который вы пробовали.
Ответ №1:
В приведенном ниже коде я использую шаг 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" amp; Row).Value = "Apple" Or .Range("A" amp; Row).Value = "Banana" Or .Range("A" amp; Row).Value = "Tomato" Then
If .Range("B" amp; Row).Value = "Apple" Or .Range("B" amp; Row).Value = "Banana" Or .Range("B" amp; Row).Value = "Tomato" Then
If .Range("C" amp; Row 1).Value = "Apple" Or .Range("C" amp; Row 1).Value = "Banana" Or .Range("C" amp; Row 1).Value = "Tomato" Then
.Range("D" amp; Row 1).Value = "Fruits"
End If
Else
Exit For
End If
Else
Exit For
End If
Next Row
End With
End Sub