如何根据多个单元格中的值自动填充

时间:2019-03-28 09:50:09

标签: excel vba autofill

第一个问题,希望我做对了...

我在A:C单元格中获得了一系列数据 让我们举个例子:

  • 单元格A2 =苹果
  • 单元格B2 =香蕉
  • 细胞C3 =番茄

单元格D3 中,我希望将其自动填充设置为“水果”。如果A:C中的任何单元格都不是这些选择之一,则返回空白。 目的是为A:C单元格提供下拉列表,并基于这些单元的组合返回某些值。使用VBA而不是公式,这怎么可能轻松实现?

我能够对单个单元格执行此操作,永远不会多个。

1 个答案:

答案 0 :(得分:0)

在下面的代码中,我使用第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