gpt4 book ai didi

excel - 循环内的 Case 语句

转载 作者:行者123 更新时间:2023-12-03 00:32:16 24 4
gpt4 key购买 nike

如何在 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”语句。这是我当前收到的错误:

Compile Error: Next without For

另外,请告知是否有更有效的方法来解决这个问题。在实际情况中,有 12 个名称、12 个组、100,000 行名称。

最佳答案

编写的 IF 语句都需要为第二个 IF 语句添加 ELSE IF,后跟 END IF分组末尾的 语句。

您当然可以执行CASE语句,如下所示:

Sub AddGroupColumn()
'Counts number of rows in sheet. Loops through rows.
For i = 1 To Range("C1048576").End(xlUp).Row
Select Case Range("C2:C" & i).Value
Case "john.doe"
Range("D2:D" & i).Value = "group 1"
Case "jane.doe"
Range("D2:D" & i).Value = "group 2"
' The rest of your case statements go here ...
End Select
Next i
End Sub

关于excel - 循环内的 Case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11833683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com