0

Sub fRemoveCharList(ColArray As Variant, char As 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
4

1 に答える 1

1

次のいずれかを試してください。

Run fRemoveCharList Array("field1","field2","field3"), Array("]", "&", "%")

または:

Call fRemoveCharList(Array("field1","field2","field3"), Array("]","&","%"))
于 2013-09-30T18:50:41.853 に答える