プロが教えるわが家の防犯対策術!

いつも大変お世話になっております。
印刷の設定で
CheckBox1
CheckBox2
があります。
CheckBox1
ActiveSheet.PageSetup.PaperSize = xlPaperA4

CheckBox2
ActiveSheet.PageSetup.PaperSize = xlPaperA3
のように設定するコードおしえてくれませんでしょうか
また、どちらかのCheckBoxがTrue だったら片方を選択
できないようにしたのです。
申し訳ございませんがお願いいたします。

With ActiveSheet
.PageSetup.PrintTitleRows = "$2:$2"
.PageSetup.PrintArea = p.Address
.PageSetup.Orientation = xlLandscape
.PageSetup.PaperSize = CheckBox1 OR CheckBox2
.ResetAllPageBreaks
End With

「CheckBox1による選択 VBA」の質問画像

A 回答 (4件)

こんばんは!



>どちらかのCheckBoxがTrue だったら片方を選択
>できないようにしたのです。

チェックボックスでないとダメですか?
↓の画像のようにフレーム内にオプションボタンを配置すれば
どれか一つしか選択できないようになります。

画像のツールボックス内の赤丸が「フレーム」になりますので、
一旦フレームをユーザーフォーム内に配置し
その中にオプションボタン(目玉のボタン)を二つ配置するだけです。
特別なコードは不要です。

そしてユーザーフォームのコマンドボタンのコードを下記のようにします。

Private Sub CommandButton1_Click()
 If OptionButton1 = True Then
  ActiveSheet.PageSetup.PaperSize = xlPaperA4
 ElseIf OptionButton2 = True Then
  ActiveSheet.PageSetup.PaperSize = xlPaperA3
 End If
End Sub

のようにすれば
オプションボタン1が選択されている時はA4用紙サイズ
オプションボタン2が選択されている時はA3用紙サイズが設定されるはずです。m(_ _)m
「CheckBox1による選択 VBA」の回答画像1
    • good
    • 0
この回答へのお礼

いつも大変お世話になっております。
十分です。
ありがとうございます。

お礼日時:2019/12/17 21:42

通常はオプションボタンを使います。

自動的に排他動作します。
「CheckBox1による選択 VBA」の回答画像2
    • good
    • 0
この回答へのお礼

いつもありがとうございます。

お礼日時:2019/12/17 21:43

No.1です。



No.2さんの回答を拝見して・・・

今回はフレームを使う必要はなかったですね。

質問のような項目が複数存在する場合
(選択項目が何種類かある場合)にフレームを使います。

どうも失礼しました。m(_ _)m
    • good
    • 0
この回答へのお礼

とんでもないです
有難うございます。

お礼日時:2019/12/17 21:44

通常なら単一を選択させたければオプションボタンを使うと、どちらか片方しか選択できないのですけどね。

(選択させる手段はありますが標準ではって事で)

.PageSetup.PaperSize = IIf(OptionButton1.Value = True, xlPaperA4, xlPaperA3)

上が1、下が2。
「CheckBox1による選択 VBA」の回答画像4
    • good
    • 0
この回答へのお礼

いつも有難うございます。
分かりやすいです。
有難うございます。

お礼日時:2019/12/17 21:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!