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