我在VBA中有一个If/Then循环,用于检查每个选项卡中的相同单元格是否相等,并且可以创建一个可在If/Then循环中工作的字符串给定已知数量的选项卡(3个选项卡);但是,宏需要查看任意数量的选项卡,我需要一个动态的If/Then语句。我试图创建一个字符串,基本上根据选项卡的数量编写代码,但是我得到类型不匹配,因为字符串是一个变量。使用字符串作为If语句(VBA)的一部分
例如,这个工程给予3个标签:
If Worksheets(loc(1)).Cells(TseriesLine, 15) = Worksheets(loc(2)).Cells(TseriesLine, 15) _
And Worksheets(loc(1)).Cells(TseriesLine, 15) = Worksheets(loc(3)).Cells(TseriesLine, 15) Then
....
但是,这并不工作:
ifline = "Worksheets(loc(1)).Cells(TseriesLine, 15) = Worksheets(loc(2)).Cells(TseriesLine, 15) _
And Worksheets(loc(1)).Cells(TseriesLine, 15) = Worksheets(loc(3)).Cells(TseriesLine, 15)"
If ifline Then ....
我使用Evalulate(ifline)也尝试和StrConv(ifline)没有成功。任何帮助,将不胜感激。
谢谢
这是一个可怕的做法,但在这里你去http://simeonpilgrim.com/blog/2007/12/04/compiling-and-running-code-at-runtime/发表您的代码,我们可以帮助您到达那里 – Claudius
使用'For Each'循环遍历表单。并将每张纸与第一张纸进行比较。如果有的话是不真实的,那么不要做其余的事情。然后根据结果分配一个布尔变量true或false。然后您可以测试该布尔变量。 –