如何在 VBA 的循环中创建 case 语句(或多个 if 语句)?
在此示例中,我有一个包含 4 个名称的列表,它们对应于 4 个不同的组。这些名称位于电子表格的“C”列中,我想创建一个新列“D”列,其中列出了每个人的组名。
这是我目前正在使用的代码:
Sub AddGroupColumn()
'Counts number of rows in sheet. Loops through rows.
For i = 1 To Range("C1048576").End(xlUp).Row
If Range("C2:C" & i).Value = "john.doe" Then
Set Range("D2:D" & i).Value = "group 1"
If Range("C2:C" & i).Value = "jane.doe" Then
Range("D2:D" & i).Value = "group 2"
If Range("C2:C" & i).Value = "james.doe" Then
Range("D2:D" & i).Value = "group 3"
If Range("C2:C" & i).Value = "jenn.doe" Then
Range("D2:D" & i).Value = "group 4"
Next i
End Sub
请提供有关如何修复上述代码的建议。我知道语法已关闭,我不确定是否应该使用“If/Then/Else/Elseif”的“Case”语句。这是我目前收到的错误:
编译错误:Next 没有 For
另外,请告知是否有更有效的方法来解决此问题。在真实案例中,有 12 个名称、12 个组和 100,000 行名称。