• ベストアンサー

エクセル2007 メッセージボックスについて教えて下さい

セルA1に"1"が入れば"b10~m60"を印刷(1ページ分)、 同様に、"2"が入れば"b61~m110"(2ページ分)、"3"が入れば"b111~m160"(2ページ分)を印刷する マクロボタンがあります。 現在、印刷を実行する前にメッセージボックスで「印刷します」→「OK」「キャンセル」の確認をしていますが このメッセージに、セルA1に入れた数値で確認したいのですができるでしょうか?? 例)セルA1="1"→MsgBox「1ページ印刷します」    セルA1="2"→MsgBox「2ページ印刷します」 分かりづらい説明で申し訳ありません。よろしくお願いします。 ↓現在の記述↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Sub test() If MsgBox("印刷します", vbOKCancel) = vbCancel Then Exit Sub End If Select Case Range("a1").Value   Case "1" ActiveSheet.PageSetup.PrintArea = "b10:m60" ActiveWindow.SelectedSheets.PrintOut Copies:=1  Case "2" ActiveSheet.PageSetup.PrintArea = "b61:m110" ActiveWindow.SelectedSheets.PrintOut Copies:=1   Case "3" ActiveSheet.PageSetup.PrintArea = "b111:m160" ActiveWindow.SelectedSheets.PrintOut Copies:=1  End Select End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • nagare
  • ベストアンサー率33% (280/831)
回答No.1

文字編集でできますよ If MsgBox("「" & Range("a1").Value & "ページ印刷します」", vbOKCancel) = vbCancel Then

SAZA2010
質問者

お礼

早々のお返事ありがとうございます。 バッチリできました!♪

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

何ページ目かをメッセージボックスで出したいのですね。その場合には次のようにします。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If MsgBox(Target.Value & "ページ目を印刷します", vbOKCancel) = vbCancel Then Exit Sub End If End If End Sub

SAZA2010
質問者

お礼

度々ありがとうございます。解決しました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1にセットするならシート1のマクロに次のようなコードを入力します。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then If MsgBox("印刷します", vbOKCancel) = vbCancel Then Exit Sub End If   以下はお書きになったコードを入力します。 End If End Sub

SAZA2010
質問者

お礼

ありがとうございます。解決しました。

関連するQ&A

専門家に質問してみよう