Excel VBA 質問スレッド №2088 (解決済)
別ブックへ転記したいがエラーが出てしまう
投稿者 : けろ 投稿日時 : 2025/02/27(Thu) 14:39:24 OS : Windows 10 EXCEL : Excel 2016
別ブックへ転記したいのですが、
on error resume nextを一番初めにかくと動くのですが、それをのぞくとエラーで動かなくなります。
原因がわからず困っています。わかる方教えていただけませんでしょうか。
ちなみに on error~をのぞくと止まってしまう箇所 = Set wb1 = Workbooks("発注促進リスト.xlsm")のところです。
質問内容
①どこの記述がまずくて止まってしまうのか
②open book で管理台帳を開いていますが、そのままclearcontentsやペーストをスルーして抜けてしまいます。
ただし、管理台帳を開いた状態だと、clearcontentsとペーストは実行されます。
なぜ管理台帳が開かれていないとスルーしてしまうのでしょうか…。
別ブックへ転記したいのですが、
on error resume nextを一番初めにかくと動くのですが、それをのぞくとエラーで動かなくなります。
原因がわからず困っています。わかる方教えていただけませんでしょうか。
ちなみに on error~をのぞくと止まってしまう箇所 = Set wb1 = Workbooks("発注促進リスト.xlsm")のところです。
質問内容
①どこの記述がまずくて止まってしまうのか
②open book で管理台帳を開いていますが、そのままclearcontentsやペーストをスルーして抜けてしまいます。
ただし、管理台帳を開いた状態だと、clearcontentsとペーストは実行されます。
なぜ管理台帳が開かれていないとスルーしてしまうのでしょうか…。
Sub 別ファイルへ転記() Dim OpenBook As Workbook, Flag As Boolean Dim i As Long Dim k As Long Dim Sht1 As Worksheet Dim Sht2 As Worksheet Dim wb1 As Workbook Dim wb2 As Workbook Dim newwb As Workbook Set wb1 = Workbooks("発注促進リスト.xlsm") Set Sht1 = wb1.Worksheets("総合一覧") Set wb2 = Workbooks("管理台帳.xlsx") Set Sht2 = wb2.Worksheets("総合台帳") LastRow1 = Sht1.Cells(Rows.Count, 3).End(xlUp).Row LastRow2 = Sht2.Cells(Rows.Count, 2).End(xlUp).Row Flag = False '---------------------------------------------- Application.ScreenUpdating = False For Each OpenBook In Workbooks If OpenBook.Name = "管理台帳.xlsx" Then Flag = True End If Next If Flag = True Then Workbooks("管理台帳.xlsx").Activate Else Workbooks.Open "\\ここは場所を示しています\管理台帳.xlsx", ReadOnly:=False End If '↑管理台帳を開いていたらアクティブに、開いていなければ開く、というのをやっています。パスはエラーなく動いていますが、サーバーが出てしまうためカットします。 '↓ここから下は、管理台帳の総合台帳シートから、発注促進リストの総合一覧シートへ転記して、指定条件に一致した物は行非表示しています wb1.Activate For i = 4 To LastRow1 '4行目から~発注促進リストワークブックの総合一覧シートの3列目のラスト行まで Sht1.Range(Sht1.Cells(i, 1), Sht1.Cells(i, 8)).ClearContents '前回データが残っているため、一旦clearcontentsする Next i Sht2.Range(Sht2.Cells(4, 1), Sht2.Cells(LastRow2, 8)).Copy '管理台帳ワークブックの総合台帳シートA4~ラスト行の8列目までコピー Sht1.Cells(4, 2).PasteSpecial Paste:=xlPasteValues '発注促進リストの総合一覧シートへペースト For k = 4 To LastRow1 '発注促進リスト4行目からFor If Sht1.Cells(k, 9) <> "" Or Sht1.Cells(k, 5) >= Sht1.Cells(k, 7) Then '指定条件なら Rows(k).Hidden = True '上の条件に該当したものは行非表示 End If Next k Application.ScreenUpdating = True End Sub
スポンサーリンク
[返信 1] Re : 別ブックへ転記したいがエラーが出てしまう
投稿者 : けろ 投稿日時 : 2025/02/27(Thu) 15:46:44
全て自己解決できましたありがとうございますm(__)m
全て自己解決できましたありがとうございますm(__)m
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-05 17:57:47 )