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-12-22 08:53:53 )