• 締切済み

エクセルのマクロで、特殊な印刷をするには? 

C1:Q10まで罫線を引いた帳簿表があります。 その表のなかで、合計が2回、3回あり、印刷をその都度 プリントアウトして紙がもったいないなぁっと。 そこで、合計ボタンを作成した時にTの列に1を入力させて その数値によって印刷を文字のみにする方法がないか?質問です。 条件としては 初めのT=1ならば表C1:Q10まで、普通にプリントアウト。 T=最新の1ならば、段の文字のみをプリントアウトする。 例)ボタン3押して、初めのQ=1なので印刷はC1:P10まで印刷 ボタン7押して、最新のQ=1のとき印刷は最新の1から 1つ前のQ=1の間の列の文字のみを印刷したい 罫線は白で印刷する。 どうかご教授お願いします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 質問のロジックが良く分かりません。もう一度、ご自身で読み直してみてください。 >T=1ならば 表C1:Q10まで、普通にプリントアウト。 -これはOK >T=最新の1ならば、段の文字のみをプリントアウトする。 ?(最新の1とは何か? 段の文字というのも不明) >ボタン3押して、 >初めのQ=1なので印刷はC1:P10まで印刷 ?(初めのQ=1 という意味が分からないし、Q<>1 でない場合の提示がありません) >ボタン7押して、 >最新のQ=1のとき印刷は最新の1から >1つ前のQ=1の間の列の文字のみを印刷したい ?1つ前のQ=1 の間というのも分かりません。 VBAは、基本的には、時系列の処理は非常に苦手です。 もう少し、きちんとまとめてみてください。ただ、あまりに質問で欲張りすぎると、レスが付きません。 'サンプル: 'ThisWorkbook モジュール Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet  If .Range("Q1").Value = 1 Then   If MsgBox("罫線が印刷されませんがよろしいですか?", vbQuestion + vbOKCancel) = vbCancel Then     .PageSetup.Draft = False   Else     .PageSetup.Draft = True   End If   Else     .PageSetup.Draft = False  End If End With End Sub

関連するQ&A