シートの各行に存在する場合、配列変数のそれぞれを検索するコードを書きました。一致が見つかったら、検索文字列が見つかった列番号を知る必要があります。vbスクリプトを使用してそれを取得する方法はありますか?
ParentColmnCount=ParentColmnCount-1
IntRow6=2
DataCount=0
Do While objSheet6.Cells(IntRow6,1).Value <> ""
For DataCount=0 to UBound(VMHArray)
If Not objSheet6.Range(objSheet6.Cells(IntRow6,1),objSheet6.Cells(IntRow6,ParentColmnCount)).Find(VMHArray(DataCount)) Is Nothing Then
MsgBox(objSheet6.Range(objSheet6.Cells(IntRow6,1),objSheet6.Cells(IntRow6,ParentColmnCount)).Find(VMHArray(DataCount)).Columns)
End If
Next
IntRow6=IntRow6+1
Loop
アップデート:
IntRow6=2
DataCount=0
Do While objSheet6.Cells(IntRow6,1).Value <> ""
For DataCount=0 to UBound(VMHArray)
Set rSearch = objSheet6.Cells(IntRow6,1).EntireRow
Set rFound = rSearch.Find(VMHArray(DataCount))
If Not rFound Is Nothing Then
adrFirst = rFound.Address
Do
MsgBox(IntRow6)
MsgBox(rFound.Column + 1)
MsgBox(adrFirst)
rCol=rFound.Column
objSheet6.Cells(IntRow6,rCol + 2)= objSheet6.Cells(IntRow6,rCol + 5)
Set rFound = rSearch.FindNext(rFound)
Loop Until rFound.Address <> adrFirst And Not rFound Is Nothing
End If
Next
IntRow6=IntRow6+1
Loop
しかし、コントロールは無限ループに陥り、最初に一致した列番号として 21 を継続的に与えているようです。以下のように出力を生成します。
2 33 $AF$2 2 33 $AF$2 2 33 $AF$2 .......
なぜそうですか?
ありがとう