- ベストアンサー
Exel2000VBA非表示の行が印刷されてしまう
EXEL2000でVBAマクロ作成しています。 シートのある行を非表示にしました。そのまま印刷 プレビューを見ると確かに非表示になっています。 ところがマクロの実行をして印刷プレビューをみると 非表示の行が表示されています。 これを表示しないように印刷するにはどうすればよろしいか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 単純なことだったようです。 エクセルのシートである列を非表示にして、その前後列をシート上で (非表示列をまたがって)指定し(行でも同じ)、他のセル範囲に貼り付けると、非表示のセルも表示されるということがあるようです。 それと関連してませんか。 別件ですが補足掲載VBAのコードのことですが (1)マクロの記録から勉強したのでしょうが、SELECT、SELECTIONを 減らす (2)繰り返しSheetのAから、J間での類似コードでの処理を、1つを繰り返しで実現できないか。 を、将来VBAを続けるなら工夫されてはどうでしょう。 (3)またシート構成につき、10種類も元データのシートが分かれているのは、解せません。初めからのシート構成をなれた人ならこうしないのではと(内容はわからずながら)推測します。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
私も#1のご回答のように、まず、VBAの中で、表示に戻してないかチェックが必要と思います。 VBEの画面にソースコードを出し,「Hidden=False」が入ってないか見てみてください。VBEの画面の編集ー検索ーHidden=False でどうでしょう。 PageSetUpに非表示行を印刷する設定はなかったと思います。
補足
シートのセルには文字の入った行を手動で非表示にしています。BVAのコードは以下のとおりでHiddenとか何も入っていません。 Sub 請求書一括印刷() Application.ScreenUpdating = False Sheets("A").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("B1").Select ActiveSheet.Paste Sheets("A").Select Application.CutCopyMode = False Range("B2").Select Sheets("B").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("B34").Select ActiveSheet.Paste Sheets("B").Select Application.CutCopyMode = False Range("B2").Select Sheets("C").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("AD1").Select ActiveSheet.Paste Sheets("C").Select Application.CutCopyMode = False Range("B2").Select Sheets("D").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("AD34").Select ActiveSheet.Paste Sheets("D").Select Application.CutCopyMode = False Range("B2").Select Sheets("E").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("BF1").Select ActiveSheet.Paste Sheets("E").Select Application.CutCopyMode = False Range("B2").Select Sheets("F").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("BF34").Select ActiveSheet.Paste Sheets("F").Select Application.CutCopyMode = False Range("B2").Select Sheets("G").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("CH1").Select ActiveSheet.Paste Sheets("G").Select Application.CutCopyMode = False Range("B2").Select Sheets("H").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("CH34").Select ActiveSheet.Paste Sheets("H").Select Application.CutCopyMode = False Range("B2").Select Sheets("I").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("DJ1").Select ActiveSheet.Paste Sheets("I").Select Application.CutCopyMode = False Range("B2").Select Sheets("J").Select Range("B2:AB32").Select Selection.Copy Sheets("請求印刷 (2)").Select Range("DJ34").Select ActiveSheet.Paste Sheets("J").Select Application.CutCopyMode = False Range("B2").Select Sheets("請求印刷 (2)").Select ActiveSheet.PrintPreview Sheets("hyousi").Select End Sub
- merlionXX
- ベストアンサー率48% (1930/4007)
> ところがマクロの実行をして印刷プレビューをみると > 非表示の行が表示されています。 このマクロは何のマクロですか? その中に非表示行を表示させる記述があるのではないですか?
お礼
そうか、そうゆうことだったのか。ほんとありがとうございました。ひとつ勉強になりました。