フィルタリングされたリスト内の C(Number):D(Number) の値にアクセスしようとしていますが、MsgBox が表示されないため、何か間違っているようです。
'Filter only numeric values
With MaterialListSheet
.AutoFilterMode = False
.Range("B1").AutoFilter Field:=1, Criteria1:="0*"
End With
Set rangeInventory = InventorySheet.Range("N1:N" & Rows.Count)
' I had Set rangeMaterialList = MaterialListSheet.Range("B1:B" & Rows.Count) in the beginning but I realized If I need C and D i'm only selecting B
Set rangeMaterialList = MaterialListSheet.Range("B1:F" & Rows.Count)
For Each CellML In rangeMaterialList.SpecialCells(xlCellTypeVisible)
BomCodesToSplit = CellML.Range("C" & Rows.Row & ":D" & Rows.Row).Values
MsgBox BomCodesToSplit
For Each CellI In rangeInventory.SpecialCells(xlCellTypeVisible)
Next CellI
Next CellML
これを試しましたが、運がありません:
BomCodesToSplit = MaterialListSheet.Range("C" & Rows.Row & ":D" & Rows.Row).Values
選択したい
C1:D1
C2:D2
C3:D3
.
.
.
このような意味なので、ループインデックスに応じて選択します
Cn:Dn
他のいくつかのプログラミング言語では、ループのインデックスを使用しますが、VBA は初めてなので、これを行う方法がわかりません。
これを達成する方法は?