Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 数组的数组?宏观上_Arrays_Excel_Vba - Fatal编程技术网

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("]","&","%"))