【发布时间】:2013-06-11 15:16:06
【问题描述】:
我正在开发一个程序的一部分,该程序执行以下操作:
1) 判断某个单元格中是否有“X”以及表头是否与用户输入匹配
2) 如果为真,则将标头的内容添加到类中的元素
例如,如果行的“clutch”标题下有一个“X”,则将“clutch”添加到本例中的 pos.clutch。
这是完成此操作的(编辑:这是在 Do While 循环中,因此是 R + 1,抱歉,如果最初没有澄清):
If sh.Cells(R + 1, Clutch) = "X" And _
sh.Cells(1, Clutch).Value = CStr(cboPart.Value) Then
pos.Clutch = sh.Cells(1, Clutch)
现在,问题是我对每个元素都有一长串 ElseIf 语句(总共有 6 个)。我想将其转换为 For 循环,经过一些研究后,我想出了一个我将包含的数组在类模块中将是最好的方法,因为我可以遍历数组中的每个值。
我想知道如何在类模块中创建一个由类元素组成的数组,以及是否可以在 For 循环中为每个类元素设置值。此外,如果有更好的解决方案,我想了解更多。
【问题讨论】:
-
您并没有真正将
If Else转换为Loop。您可以考虑使用Select Case而不是一系列嵌套的If/Else语句。 -
我遇到了一个问题,因为选择案例短路。您如何建议避免这种情况?
-
我不知道您所说的“选择案例短路”是什么意思。我无法读懂您的想法——这里的其他人也无法读懂——所以,请更新您的问题以包含您尝试过的代码,并指出哪一行引发了错误。如果没有引发错误,请描述输出与您想要/期望的不一致的原因。
-
我设法使用完全不同的方法来解决我的问题,但感谢您抽出宝贵时间提供帮助。下次有问题我会更清楚。