私は数時間のうちにGoogleの答えを探していたので、あなたには分かりそうな場合は本当に私には謝っています。VBAの結果を使って作業するExcelで検索する
私は1つのブックから別のセルの値を取得しようとしています。その結果、検索結果の行の一部のデータを選択し、元のブックの検索語の行にあるセルにコピーして貼り付けます。
Sub AutoCableSize()
'
' AutoCableSize Macro
Dim Row As Integer
Dim CableRef As String
Dim Rng As Integer
Rng = 0
Row = 1
CableRef = ""
Windows("170615-Submains Cable Schedule.xlsx").Activate
For Each Cell In Range("F3:F303"):
On Error Resume Next
If CableRef = "Finish" Then
GoTo Finish:
End If
CableRef = Range("F" & Row).Value
Windows("170601-B2-3-HL_BAS_SCH_61_0001.xlsx").Activate
Columns("A:A").Select
Selection.Find(What:=CableRef, LookIn:=xlValues _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
Rng = ActiveCell.Row
If Rng = 1 Then
GoTo Continue
End If
Range("C" & Rng, "D" & Rng).Copy
Windows("170615-Submains Cable Schedule.xlsx").Activate
Range("J" & Row).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Continue:
Row = Row + 1
Next Cell
Finish:
End Sub
私は、正確な結果を検索するための検索変数に何を置く必要があります。ここでは
は、私が書いたものです。私はxlWholeを使用しましたが、問題があります:
エントリが存在しない場合、次のエントリに正しくスキップします。 エントリが存在する場合、検索シリーズの最初の空白セルが選択され、検索結果として扱われます。なぜ私は分かりません!
私は取得しています「オブジェクトはこのプロパティまたはメソッドをサポートしていません」。上記の私の編集したコードを使ってこの小さな問題を解決しました。しかしそれはまだ十分にうまく機能していません。以前は正確な検索結果が見つかりませんでした。 –
ああ、はい - あなたもワークシート名を含める必要があります! – CallumDA
@PhilipDay Updated - – CallumDA