実行時エラー“424”

実現したいこと

商品別売上日報集計に、日付を入れて実行すると下記の動きをさせる。

該当する日付の、商品別売上日報のシート(出荷)を開く。

商品毎に数値をコピーし、日報集計ブックに商品毎に用意されたシートで日付を検索してコピーした、数値を貼り付ける。

発生している問題・分からないこと

デバッグで、実行時エラー424が発生。

下記の位置で止まります。
Set wsBalance = Worksheet("出荷").Select

エラーメッセージ

error

1実行時エラー‘424’ 2オブジェクトが必要です。

該当のソースコード

VBA

1Sub CopyDataBasedOnDate() 2 Dim wbSummary As Workbook 3 Dim wsTranscribe As Worksheet 4 Dim wsBalance As Worksheet 5 Dim folderPath As String 6 Dim fileName As String 7 Dim dateToFind As String 8 Dim foundDate As Range 9 10 ' 日報集計ブックを設定する 11 Set wbSummary = ThisWorkbook 12 Set wsTranscribe = wbSummary.Sheets("転記") 13 14 ' 日付を取得する 15 dateToFind = wsTranscribe.Range("C4").Value 16 17 ' 指定されたフォルダを検索する 18 folderPath = "指定されたフォルダのパス" 19 fileName = Dir(folderPath & "\残高日報*" & Format(dateToFind, "mmdd") & ".xlsm") 20 21 ' ブックが見つかった場合 22 If fileName <> "" Then 23 ' ブックを開く 24 Workbooks.Open (folderPath & "\" & fileName) 25 Set wsBalance = Worksheet("出荷").Select 26 27 ' 商品データをコピーして貼り付ける 28 CopyAndPasteData wsBalance.Range("F8:F28"), wbSummary.Sheets("商品A") 29 CopyAndPasteData wsBalance.Range("G8:G28"), wbSummary.Sheets("商品B") 30 ' 各シートに対するコピーと貼り付けを続ける 31 32 ' ブックを閉じる 33 ActiveWorkbook.Close 34 Else 35 MsgBox "指定された日付の商品別売上日報が見つかりませんでした。" 36 End If 37End Sub 38 39Sub CopyAndPasteData(rngSource As Range, wsTarget As Worksheet) 40 Dim cell As Range 41 Dim rngTarget As Range 42 43 ' 貼り付け先のセルを探す 44 Set rngTarget = wsTarget.Range("F2:Z2,F26:Z26,F50:Z50,F74:Z74,F98:Z98,F122:Z122").Find(What:=rngSource.Cells(1, 1).Value, LookIn:=xlValues, LookAt:=xlWhole) 45 46 ' 貼り付け先が見つかった場合 47 If Not rngTarget Is Nothing Then 48 ' 貼り付ける 49 rngSource.Copy 50 wsTarget.Cells(rngTarget.Row + rngSource.Row - rngSource.Cells(1, 1).Row, rngTarget.Column).PasteSpecial Paste:=xlPasteValues 51 Application.CutCopyMode = False 52 End If 53End Sub 54

試したこと・調べたこと

上記の詳細・結果

「値がからの場合やSETが使われていない場合に発生」とありましたが、
値は確かに入っていますし、型としてVARIANTやRANGEを使用しているわけではありません。

補足

特になし

コメントを投稿

0 コメント