エクセルのマクロについて、調べても解らなかったのでどなたかご教示ください。
ボタンを押せば全シートを印刷するようにしたのですが、印刷前に確認項目が幾つかありそのチェックボックスにチェックが入っていないと印刷のマクロは実行されないという風にしたいのです。
それは可能でしょうか?
☑ 確認項目1
☑ 確認項目2
この様に確認項目がチェックされていれば印刷のマクロは有効になり、
そうじゃない場合は無効という風にしたいのです。
説明も下手くそですが、どなたか教えて頂けると助かります。お願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
エクセルマクロは、いくつかの処理をまとめて処理してくれます。
が、やりたいことをすべて処理できるわけではありません。
その場合、マクロの実体でもあるExcelVBAのプログラムを修正することになります。
ExcelVBAプログラミングの本を読んで勉強して作成してください。
No.2
- 回答日時:
こんんちは!
>印刷前に確認項目が幾つかありそのチェックボックスにチェックが入っていないと・・・
とりあえずActiveXコントトールのチェックボックスが二つ挿入されているとします。
If CheckBox1 = True And CheckBox2 = True Then
"実行する記述"
Else
MsgBox "チェックが入っていません"
End If
みたいな流れになると思います。m(_ _)m
No.3
- 回答日時:
こんにちは。
私のほうでは、CheckBox は、フォームコントロール・ツールからです。
最近、Active X コントロールりトラブルが多くなっているので、こちらに替えています。名称は、ワークシート左上の名前ボックスでみると「Check Box 1」ですから、Shapes(Check Box 1)でもいいはずですが、外れてしまうことがあります。
なお、チェックボックスは、右クリックぶコントロールの書式設定で、
◎セルに合わせて移動やサイズ変更をしない (選択●)
□オブジェクトを印刷する (オフ)
それと、チェック項目は、多数あるわけでしょうか?
ふたつなら、 And とかで繋いでよいのですが、そうでないなら、ループにしてほうがよいです。
'ThisWorkbook モジュールに以下のようにしたらよいでしょう。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim cnt As Variant
Dim i As Long
i = 0
If ActiveSheet.Name <> "Sheet1" Then Exit Sub 'シート1の場合
With Worksheets("Sheet1")
For i = 1 To .CheckBoxes.Count 'コントロール配列方式
If .CheckBoxes(i).Value = xlOff Then
buf = buf & "," & i
End If
Next
If Len(buf) > 1 Then
MsgBox Mid(buf, 2) & "のチェックが抜けています。", vbExclamation
Cancel = True '印刷取り消し命令
End If
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- プリンタ・スキャナー 印刷開始までに時間がかかります 5 2022/05/13 13:17
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- 大学・短大 大学の公募推薦についてです 僕の学校で同じ公立大学に行く人が居なくて、 インターネット出願かつ学生募 2 2023/07/26 04:23
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
2つのマクロでチェックボックス...
-
エクセルのマクロについて教え...
-
Excel2013 VBA マクロ実行中に...
-
エクセルのマクロについて教え...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルで別のセルにあるふり...
-
エクセルのマクロについて教え...
-
Excelマクロを引数付で起動
-
「マクロ」の語源
-
エクセルのマクロについて教え...
-
レポートで空データ時に印刷しない
-
ユーザーフォームを起動しなが...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報