- ベストアンサー
エクセル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
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
文字編集でできますよ If MsgBox("「" & Range("a1").Value & "ページ印刷します」", vbOKCancel) = vbCancel Then
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
何ページ目かをメッセージボックスで出したいのですね。その場合には次のようにします。 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
お礼
度々ありがとうございます。解決しました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
シート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
お礼
ありがとうございます。解決しました。
お礼
早々のお返事ありがとうございます。 バッチリできました!♪