- ベストアンサー
VBAのコピー方法について
- VBAのコピー方法について質問です。
- 現在、VBAのコードを実行している際、特定の箇所で『wbk.Close SaveChanges:=False』のメッセージが表示され、処理が停止してしまいます。
- このメッセージを非表示にする方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ExcelVBAでの話という認識でいいですか? 『クリップボードに大きな情報があります...』というメッセージそのまま、 コピーモードが解除されていないわけですから Application.CutCopyMode = False wbk.Close SaveChanges:=False とすれば良いです。 Excelのマクロ記録を活用すると、コピー時によく記録される記述です。 また >Worksheets("全").Range("A1").PasteSpecial Paste:=xlPasteValues これはActiveWorkbookのWorksheets("全")に対する処理になってしまいますから 目的の処理とは違うのでは? 変数sh3を使いましょう。 Dim wbk As Workbook Dim sh3 As Worksheet Set sh3 = ThisWorkbook.Worksheets("全") 'or ActiveWorkbook.Worksheets("全") sh3.UsedRange.Clear Set wbk = Workbooks.Open(Filename:="\\***.***.*.***\管理\全データ抽出.xls", ReadOnly:=True) wbk.Worksheets("全").UsedRange.Copy sh3.Range("A1").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False wbk.Close SaveChanges:=False Set sh3 = Nothing Set wbk = Nothing 画面のちらつきが気になるようであれば Application.ScreenUpdating で制御できます。(ヘルプ参照のこと)
その他の回答 (1)
- 0909union
- ベストアンサー率39% (325/818)
この程度ならヘルプに出てきます。VBAのエディターで、ヘルプを起動し、”SaveChanges”や”close”などのページに関連項目として下記のようにでています。 .Application.DisplayAlerts = False ヘルプをもっと活用しましょう。私はヘルプだけで、100%作っています。
お礼
すごい完璧な答えありがとうございます。 勉強になります。