VBA 嵌套 for 循环不会 运行
VBA nested for loop won't Run
您好,我正在 VBA 中为 excel 开发一个宏。我的代码中有一个嵌套的 for 循环,如下所示。第二个循环没有运行;即使是第二个循环中的 MsgBox() 命令也不会导致任何操作,程序似乎只是跳过嵌套循环而没有报告错误。
用简单的英语来说,这个嵌套循环应该:
1) 从数组categories_string的第i个条目中取出字符串(第一个for循环)。
2)遍历excel文件中"AE"列的300+行(第二个for循环,"length"是[=23中数据列的长度=])
3) 查找字符串匹配并将 1 添加到 categories_value 数组中的相应条目,该数组填充了设置为 0 的变量(if 语句)。
For i = LBound(categories_string) To UBound(categories_string)
For p = 1 To p = length
If Worksheets("sheet1").Cells(p + 2, "AE").Value = categories_string(i) Then
categories_value(i) = categories_value(i) + 1
End If
Next
Next
改变
For p = 1 To p = length
到
For p = 1 To length
应该马上把你治好。
您可能还想考虑 ,尤其是如果您的 categories_string
很大且 length
很大。或者,只是为了练习
您好,我正在 VBA 中为 excel 开发一个宏。我的代码中有一个嵌套的 for 循环,如下所示。第二个循环没有运行;即使是第二个循环中的 MsgBox() 命令也不会导致任何操作,程序似乎只是跳过嵌套循环而没有报告错误。
用简单的英语来说,这个嵌套循环应该:
1) 从数组categories_string的第i个条目中取出字符串(第一个for循环)。
2)遍历excel文件中"AE"列的300+行(第二个for循环,"length"是[=23中数据列的长度=])
3) 查找字符串匹配并将 1 添加到 categories_value 数组中的相应条目,该数组填充了设置为 0 的变量(if 语句)。
For i = LBound(categories_string) To UBound(categories_string)
For p = 1 To p = length
If Worksheets("sheet1").Cells(p + 2, "AE").Value = categories_string(i) Then
categories_value(i) = categories_value(i) + 1
End If
Next
Next
改变
For p = 1 To p = length
到
For p = 1 To length
应该马上把你治好。
您可能还想考虑 categories_string
很大且 length
很大。或者,只是为了练习