
エクセル勉強中です。
マクロの記憶でSheet2の元データの図と記入できるセルをSheet1の有効セルにコピペするマクロを作りました。
複数の方が使う予定なので元データのSheet2を非表示にしたところマクロがエラーになりました。
どうしたらよいでしょうか?
また貼り付けをする時、微妙に元データのシートがちらちらと移ります。
こちらも合わせてご指導いただけましたら助かります。
よろしお願いします。
Sub b1ab1()
'
' b1ab1 Macro
'
'
Sheets("Sheet2").Select
Range("AK48:AP56").Select
Selection.Copy
Sheets("ダクト制作単品図").Select
ActiveSheet.Paste
End Sub
No.1ベストアンサー
- 回答日時:
シートを非表示のままではそのシートに関するマクロはエラーになります。
そこで、普段非表示にしているシートでマクロを実行するには
マクロの中でシート操作を実行するときだけシートを表示させて、
シート操作が終わったらまたシートを非表示にするという方法を使います。
実行したい動作の前後にSheets("Sheet2").Visibleで表示・非表示を挿入します。
Sheets("Sheet2").Visible = True(シートを表示する)
さらに画面がちらちらするを止めるには
Application.ScreenUpdating = False とします。(画面の更新をしない)
貴殿のマクロに付け加えると以下のようになります。
Sub b1ab1()
' b1ab1 Macro
Application.ScreenUpdating = False '画面の更新をしない
Sheets("Sheet2").Visible = True 'シート2を表示
Sheets("Sheet2").Select
Range("AK48:AP56").Select
Selection.Copy
Sheets("ダクト制作単品図").Select
ActiveSheet.Paste
Sheets("Sheet2").Visible = False 'シート2を非表示
Application.ScreenUpdating = True '画面の更新する
End Sub
貴殿の実用上問題ないのかもしれませんが、
上のマクロは「ダクト制作単品図」シート上のアクティブなセル(選択してあるセル)なら
どこにでもペーストされてしまうので
ペーストするセル(またはレンジ)も指定する方がいいように思われます。
ありがとうございます!!
思っていた仕上がりになりました。
自分なりに探ってはみたのですがわからなくて初めて質問させていただきましたがわかりやすい説明とアドバイスに感謝です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
このQ&Aを見た人はこんなQ&Aも見ています
-
実行時エラー'1004': WorkSheetクラスのVisibleプロパティを設定できません
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
6
【VBA】複数のシートの指定した列を非表示・表示をさせたい
Excel(エクセル)
-
7
VBA 非表示シートの取り扱い
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
excel vba 非表示のシートに入力するには?
その他(OS)
-
10
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
11
エクセルで英数大文字のみの入力制限は可能ですか
Excel(エクセル)
-
12
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
13
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
エクセルのマクロで結合セルに値を貼り付けたい
Excel(エクセル)
-
16
特定のシートの削除を禁止したい(ブックの保護でなく)
Excel(エクセル)
-
17
マクロで、次のコードへ行く前に時間をおくにはどうしたらいいのでしょうか?
その他(Microsoft Office)
-
18
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
19
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
20
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
VBA 存在しないシートを選...
-
実行時エラー1004「Select メソ...
-
特定の文字を含むシートだけマ...
-
Excelマクロのエラーを解決した...
-
XL:BeforeDoubleClickが動かない
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー'1004': WorkSheet...
-
エクセルのシート名変更で重複...
-
Excel チェックボックスにチェ...
-
ExcelのVBAのマクロで他のシー...
-
エクセルVBA 別シートからのコ...
-
複数シートに色付きセル(条件つ...
-
EXCEL VBAで複数シートから該当...
-
VB.net(2005)でエクセルの特定...
-
Worksheet_Changeの内容を標準...
-
Excel VBA で自然対数の関数Ln...
-
userFormに貼り付けたLabelを変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
特定の文字を含むシートだけマ...
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
excelのマクロで該当処理できな...
-
実行時エラー'1004': WorkSheet...
-
ブック名、シート名を他のモジ...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
ExcelVBA:複数の特定のグラフ...
-
エクセルのシート名変更で重複...
-
IFステートの中にWithステート...
-
VBA 検索して一致したセル...
-
ExcelのVBAのマクロで他のシー...
-
XL:BeforeDoubleClickが動かない
-
別のシートから値を取得するとき
-
エクセルVBA Ifでシート名が合...
-
エクセル・マクロ シートの非...
-
シートが保護されている状態で...
-
シート削除のマクロで「delete...
おすすめ情報