嵌套for循环的VBA不会运行

时间:2016-07-12 19:30:19

标签: arrays vba for-loop nested-loops

您好我正在使用VBA中的宏来处理Excel。我的代码中有一个嵌套的for循环,如下所示。第二个循环不运行;甚至第二个循环中的MsgBox()命令也不会导致任何操作,程序似乎只是跳过嵌套循环而没有报告错误。

简单地说,这个嵌套循环应该:

1)从数组categories_string中的i条目中获取字符串(首先是for循环)。

2)遍历excel文件中“AE”列中的300多行(第二个用于循环,“length”是“AE”中数据列的长度)

3)查找字符串匹配并在categories_value数组中的相应条目中添加1,该数组填充了设置为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

1 个答案:

答案 0 :(得分:4)

更改

   For p = 1 To p = length

   For p = 1 To length

应该修好你。

您可能还需要考虑Scott Cranner's comment,尤其是当您的categories_string很大并且length很大时。或者,只是为练习