编辑:
现在我将数组更改为范围:Set arrDeviceType = ScriptSheet.Range("P2:P" & LastApar)
但我仍然在Application-definedorobject-defined error
arrDeviceType(X, 1).Resize(I - 2, 0) = "Internet"
的错误
我的VBA脚本存在此行问题
arrDeviceType(X, 1).Resize(I - 2, 0) = "Internet"
arrDeviceType被设置为变体,它的单元格值是" Internet System",我需要将该列与" Internet System"使用" Internet"到另一个工作表列,但它们的意思相同。因为我需要匹配这两个值,所以我想让脚本识别" Internet System"和#34;互联网"一样首先在一个工作表中,不对工作表进行实际更改。所以我将列中的所有内容存储到arrDeviceType arrDeviceType = ScriptSheet.Range("P2:P" & LastApar).Value
中。
所以问题是我应该怎么做?我对日期值做了相同的操作,将其更改为该月的第一天,就像这个arrOpenDate(X, 1) = arrOpenDate(X, 1) - Day(arrOpenDate(X, 1)) + 1
一样,并且它有效,所以我试图用这个字符串值来实现相同的目标。
下面发布的相关代码,有三对字符串需要匹配:
I = 1
X = 1
Do While arrDeviceType(I, 1) = "Internet System"
I = I + 1
Loop
arrDeviceType(X, 1).Resize(I - 2, 0) = "Internet"
X = I
OPS = X
Do While arrDeviceType(OPS, 1) = "Other production system"
OPS = OPS + 1
Loop
arrDeviceType(X, 1).Resize(OPS - X, 0) = "DR"
X = OPS
DR = X
Do While arrDeviceType(DR, 1) = "System subject to disaster recovery"
DR = DR + 1
Loop
arrDeviceType(X, 1).Resize(DR - X, 0) = "DR"