ブック2の.Find関数を使用してブック2のワークシートの数値を検索し、 "found"という範囲オブジェクトに設定します。VBA .Find()関数がExcelセルを見つけられない
実行時エラー '91':オブジェクト変数またはWithブロック変数が設定されていません。私はその数がその2番目のワークブックにあるという事実を知っていますが、私は見つけたくないと思います。面白いバグは、これを初めて実行するとうまくいくということです。しかし、ブック1を閉じてもう一度開くと、.Find関数はその番号をもう見つけられなくなります。
誰も私のコードで明らかな問題を次のように見ることができますか?
Dim found As Range
Dim ecrNum As String
Set wb = ThisWorkbook
ecrNum = ThisWorkbook.ActiveSheet.Range("H5")
'Opens ECR Log workbook
Set ECRlog = Workbooks.Open("filepath")
ECRlog.ActiveSheet.Unprotect ("x")
'Resets Filters in the ECR Log
If ECRlog.ActiveSheet.FilterMode Then
ECRlog.ActiveSheet.AutoFilter.ShowAllData
End If
'Searches the ECR log for the specified ECR #
Set found = ECRlog.ActiveSheet.Range("C:C").Find(What:=ecrNum, _
LookIn:=xlValues, LookAt:=xlWhole)
'Pushes info from ECR form to ECR Log
ECRlog.ActiveSheet.Cells(found.Row, 5) = proj
ECRlog.ActiveSheet.Cells(found.Row, 6) = model
ECRlog.ActiveSheet.Cells(found.Row, 7) = ecn
ECRlog.ActiveSheet.Cells(found.Row, 9) = dueDate
あなたはActiveSheetをあまりにも頼りにしています。関係するワークシートの名前は分かりませんか? – Jeeped
'Workbooks.Open(" filepath ")'これは正しく表示されません。ファイルは実際に "ファイルパス"と呼ばれているのですか、それとも変数ですか?リテラル引数として使用しています。 – MoondogsMaDawg
'ECRlog.ActiveSheet.Cells(found.Row、5)= proj'行でエラーが発生していると仮定していますが、あなたの質問が、 *持っていると思います。 – YowE3K