この関数は、rangeとrangeの2つのパラメータを取得し、一致する値とそのアドレスを持つ配列を返します。しかしReDim Preserve 2Dが範囲外になる
Function filter_range_value(rng As String, selected_value As String) As Variant
Dim cell As Range
Dim array_storage() As Variant
Dim element As Integer
element = 1
For Each cell In Range(rng)
If InStr(cell, selected_value) > 0 Then
ReDim Preserve array_storage(element, 1)
array_storage(element, 0) = cell
array_storage(element, 1) = cell.address
element = element + 1
End If
Next cell
filter_range_value = array_storage
End Function
あなたは 'REDIMが(1に、要素に0 0)array_storageを保存し'てみましたか? –
最後のディメンションのみをリム保存することができます。 2Dの場合は2番目、3番目の3Dは.... –