1
您好我正在为excel的VBA中的宏。我的代码中有一个嵌套的for循环,如下所示。第二个循环不运行;即使第二个循环中的MsgBox()命令也不会导致任何操作,程序似乎会跳过嵌套循环而不报告错误。VBA嵌套for循环不会运行
在普通的英语本嵌套循环应:
1)取从在阵列categories_string(第i项第一个for循环的字符串)。
2)通过在Excel文件(第二for循环300+行中列“AE”迭代,“长度”是在“AE”数据的列)
3)寻找长度字符串匹配并将1添加到用变量设置为0(if语句)填充的categories_value数组中的相应条目。
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 length' –
由于您已经知道如何使用数组,因此为什么不将列AE中的值放入数组中并循环使用呢?然后循环单元格本身会更快。 'AEArray = Worksheets(“sheet1”)。Range(“AE3:AE”&length).Value' then instead for for loop on this array instead。 –
你的答案解决了它。和伟大的建议!这仅仅是我使用VBA的第二天,因此任何建议都是值得赞赏的。 – PSwalker