【发布时间】:2015-12-03 10:45:50
【问题描述】:
我有一个用于 TCP / IP 的 ActiveX 通信驱动程序,它允许我从 Excel 文件读取和写入 PLC。我想在 Excel 中写入另外 5 个单元格的值 5 MW,我用循环尝试了它,我一次只在 5 个变量中写入一个值。现在我有一个“选择案例”,它对我不起作用。请帮忙。代码如下:
For tt = 1 To 5
valor(1) = Val(Cells(1, 4).Value)
valor(2) = Val(Cells(2, 4).Value)
valor(3) = Val(Cells(3, 4).Value)
valor(4) = Val(Cells(4, 4).Value)
valor(5) = Val(Cells(5, 4).Value)
Next tt
Select Case valor(tt)
Case valor(1)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 5, 1, 1000, 300, valor)
Case valor(2)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 6, 1, 1000, 300, valor)
Case valor(3)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 7, 1, 1000, 300, valor)
Case valor(4)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 8, 1, 1000, 300, valor)
Case valor(5)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 9, 1, 1000, 300, valor)
End Select
行:
MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 9, 1, 1000, 300, valor)
是与PLC通讯的参数设置。最后一个参数是我们需要写入的值,我从一个单元格中收集到的。
代码是 Excel 2002 中的 VBA。
谢谢!!!
【问题讨论】:
-
选择案例在 for/next 循环之外。因此,当您到达选择案例时, tt 的值将始终相同。令人惊讶的惊喜...... tt 在循环完成后将始终为 6。所以选择案例永远不会找到有效的结果。