Arrays 数组的数组?宏观上
我有一个函数Arrays 数组的数组?宏观上,arrays,excel,vba,Arrays,Excel,Vba,我有一个函数Sub-fRemoveCharList(ColArray作为Variant,char作为Variant)(下面的代码)来删除一个字符列表,而不是一个标题名列表 如果我把它叫做 Sub RemoveCharList() fRemoveCharList Array("field1","field2","field3"), Array("]", "&", "%") End Sub …很好用 但是如果我去的话 Call fRemoveCharList(("field1","f
Sub-fRemoveCharList(ColArray作为Variant,char作为Variant)
(下面的代码)来删除一个字符列表,而不是一个标题名列表
如果我把它叫做
Sub RemoveCharList()
fRemoveCharList Array("field1","field2","field3"), Array("]", "&", "%")
End Sub
…很好用
但是如果我去的话
Call fRemoveCharList(("field1","field2","field3"), ("]","&","%"))
…这是我的首选方式,我得到一个“类型不匹配”错误。我需要一个数组来像这样使用它吗
我在谷歌上搜索了如何继续,但找不到任何可以使用的工具
职能:
Sub fRemoveCharList(ColArray As Variant, char As Variant)
Dim x As Variant
Dim LR As Long, i As Long, j As Long
Dim Heading As Variant
Dim headingFound As Range
Dim lngColIndex As Long
For Each Heading In ColArray
On Error Resume Next
Set headingFound = Range("1:1").Find(What:=Heading, LookIn:=xlFormulas, LookAt:=xlPart)
Err.Clear: On Error GoTo 0: On Error GoTo -1
If Not headingFound Is Nothing Then lngColIndex = headingFound.Column
LR = Cells(Rows.Count, lngColIndex).End(xlUp).Row
For i = 1 To LR
With Cells(i, lngColIndex)
x = .Value
For j = LBound(char) To UBound(char)
x = Replace(x, char(j), vbNullString)
Next
.Value = x
End With
Next i
Next
End Sub
请尝试以下任一方法:
Run fRemoveCharList Array("field1","field2","field3"), Array("]", "&", "%")
或:
尝试
运行fRemoveCharList数组(“field1”、“field2”、“field3”)、数组(“]”、“&”、“%”)而不是调用
。或者:调用fRemoveCharList(数组(“field1”、“field2”、“field3”)、数组(“]”、“&”、“%”)
尝试向方法添加正确的签名-子fRemoveCharList(ColArray()作为变量,char()作为变量)-由于您正在传递数组..Sorcei's,感谢您的回复。我尝试了fRemoveCharList(ColArray()作为变量,char()作为变量)
,但它导致了一个错误。David,谢谢,我使用了第二种方法,效果很好。我还尝试添加子fRemoveCharList(ColArray()作为变量,char()作为变量)
以及Sorcei的
注释,但这导致了一个错误,因此我删除了()
再次感谢,非常感谢您的回复
Call fRemoveCharList(Array("field1","field2","field3"), Array("]","&","%"))