将函数应用于列中的所有单元格

时间:2016-12-10 17:02:14

标签: excel-vba vba excel

我的代码仅适用于所选单元格。我希望它适用于A列中的每个单元格。

到目前为止我的代码

base

如果添加了行,我也试图让它继续工作。

1 个答案:

答案 0 :(得分:0)

下面的代码将循环遍历A列中的所有行,从第3行开始直到带有数据的最后一行。

我使用Select Case .Range("B" & LRow).Value而不是多个ElseIf

我假设您的上一个ElseIf IsEmpty(Range("D3").Value) = True Then是类型错误,您的意思是ElseIf IsEmpty(Range("B3").Value) = True Then

<强>代码

Option Explicit

Sub Splitter()

Dim i As Integer
Dim Text As String
Dim Item As Variant
Dim LastRow As Long
Dim LRow As Long

' modify "sheet1" to your sheet's name
With Sheets("Sheet1")

    ' find last row in Column A
    LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    For LRow = 3 To LastRow

        Item = Split(.Range("A" & LRow), "-")            
        For i = 0 To UBound(Item)
            .Cells(LRow, i + 2).Value = Item(i)
        Next i

        Select Case .Range("B" & LRow).Value
            Case "CHOP"
                .Range("D" & LRow).Value = "chopsticks"

            Case "NAPK"
                .Range("D" & LRow).Value = "napkins"

            Case "RICE"
                .Range("D" & LRow).Value = "white rice"

            Case "SOYS"
                .Range("D" & LRow).Value = "soy sauce"

            Case "CHOP"
                .Range("D" & LRow).Value = "chopsticks"

            Case Else
                .Range("D3").Value = "other"

        End Select

    Next LRow        
End With

End Sub