Удаление элементов в массиве, если элемент является определенным значением VBA
чтобы удалить элементы в массиве с определенным условием, вы можете написать код, подобный этому
For i = LBound(ArrValue, 2) To UBound(ArrValue, 2)
If [Certain condition] Then
ArrValue(1, i) = "-----------------------"
End If
Next i
StrTransfer = Replace(Replace(Replace(join(Application.Index(ArrValue(), 1, 0), ","), ",-----------------------,", ",", , , vbBinaryCompare), "-----------------------,", "", , , vbBinaryCompare), ",-----------------------", "", , , vbBinaryCompare)
ResultArray = join( Strtransfer, ",")
Я часто манипулирую 1D-массивом с помощью Join / Split
но если вам нужно удалить определенное значение в многомерном измерении, я предлагаю вам изменить эти массивы на 1D-массивы, как это
strTransfer = Replace(Replace(Replace(Replace(Names.Add("A", MultiDimensionArray), Chr(34), ""), "={", ""), "}", ""), ";", ",")
'somecode to edit Array like 1st code on top of this comment
'then loop through this strTransfer to get right value in right dimension
'with split function.