【发布时间】:2018-04-13 17:06:48
【问题描述】:
我对 VBA 很陌生,我只是想用“0”替换列“N”和“O”中的任何字符“NA”、“ZZ”、“Z”。以下是带有if 语句的循环,但由于某种原因,我一直在获取
类型不匹配的运行时 13 错误
谁能帮我解决这个错误?
谢谢!
Dim v as String
sym = Array("NA", "ZZ", "Z")
If Worksheets("Sheet1").Columns("N") Then
For Each a In sym
v = Replace(v, a, "0")
Next a
ElseIf Worksheets("Sheet1").Columns("O") Then
For Each a In sym
v = Replace(v, a, "0")
Next a
End If
【问题讨论】:
-
你对
If Worksheets("Sheet1").Columns("N") Then的意图是什么 -
@ScottCraner 要定义 N 列。我只想替换数组
sym中出现在 N 和 O 列中的字符。也许有更有效的方法可以做到这一点? -
Worksheets("Sheet1").Columns("N")不返回布尔值。 -
而v是一个空字符串,所以无论你循环多少次它都将是一个空字符串。