標記の件、御指導願います。
シート1:印刷設定(チェックボックスが印刷したいシート分あります)
シート2~34:チェックボックスがオンである表題のシートを選択し一括で印刷する。
を、VBAで作ってみましたが、エラー(インデックスが有効範囲にありません)が出てしまいます。
Sub CheckBoxPrint()
Dim ArrySheet() As String
Dim I As Long
Dim k As Long
k = 0
For I = 1 To 33
If ActiveSheet.OLEObjects("CheckBox" & I).Object.Value = True Then
ReDim Preserve ArrySheet(k)
ArrySheet(k) = ActiveSheet.DrawingObjects("CheckBox" & I).Object.Caption
k = k + 1
End If
Next I
ThisWorkbook.Worksheets(ArrySheet).PrintOut ←エラー(インデックスが有効範囲にありません)
Erase ArrySheet
End Sub
このエラーを回避する方法を御指導してください。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
エラーが出たからとすぐWEBなんぞに質問してませんか。
まず下記のように(確認用・・・の個所)でもして、自分がプログラムで設定した内容を確かめるクセを付けること。
Sub CheckBoxPrint()
Dim ArrySheet() As String
Dim I As Long
Dim k As Long
k = 0
For I = 1 To Sheets.Count - 1
If ActiveSheet.OLEObjects("CheckBox" & I).Object.Value = True Then
ReDim Preserve ArrySheet(k)
ArrySheet(k) = ActiveSheet.DrawingObjects("CheckBox" & I).Object.Caption
k = k + 1
End If
Next I
For Each cc In ArrySheet '<----確認用に入れてみる。こういうことをすることがデバッグで大切
MsgBox cc
Next
ThisWorkbook.Worksheets(ArrySheet).PrintOut '←エラー(インデックスが有効範囲にありません)
Erase ArrySheet
End Sub
上記のMsgbox no表示が質問者の思っている表示(シート名のはずだが)と正しいですか。
私は不自然だがチェックボックスのCaptionをSheetXXにそれぞれ変えて実行して、印刷は行われた。
ーー
わたしのテスト
Sheet1-Sheet4のシートとあり。
Sheet1に3つチェックボックスを貼り付け。2つだけON
ChechBox1のCaption-->Sheet2
ChechBox2のCaption-->Sheet3
ChechBox3のCaption-->Sheet4
このステップが行われていないか、Sheet名と食い違うのでは。
imogasi様
ご回答ありがとうございました。
ご指摘の通り、シート名に誤記がありました。
確認不足でした。。
今後はデバックしていくスキルも勉強します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) シートを選択して、1つのPDFにしたいのですが。 5 2022/10/03 20:18
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
これが怖いの自分だけ?というものありますか?
人によって怖いもの(恐怖症)ありませんか? 怖いものには、怖くなったきっかけやエピソードがあって聞いてみるとそんな感覚もあるのかと新しい発見があって面白いです。
-
集合写真、どこに映る?
あなたが集合写真を撮られるとき、画角のどのあたりにいることが多いですか? 私は振り返ってみると右の端にいることが多い気がします。
-
冬の健康法を教えて!
温度変化が大きくなり、風邪をひきやすいこれからの季節。 どんなことに気をつけていますか?
-
エクセルでチェックボックスを使用してシートの抽出及び一括印刷
Excel(エクセル)
-
ExcelでのVBA チェックボックスから印刷
Excel(エクセル)
-
チェックボックスにマクロを入れて印刷する
Word(ワード)
-
-
4
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
5
VBA チェックボックスで印刷ページの選択
Word(ワード)
-
6
シートを選択して、1つのPDFにしたいのですが。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
エクセルでのヘッダーをページ...
-
エクセルで行番号、列アルファ...
-
Excel 特定のシートを印刷不可...
-
エクセルで複数のシートの1枚目...
-
エクセルの行タイトルを特定の...
-
マクロで印刷→セルの値から部数...
-
Wordで差込印刷。テーブル...
-
1ヶ月分の日付を一度に出す方法...
-
条件によって印刷するシートを...
-
Excelでシートを複数シート選択...
-
エクセルの複数シートをNアップ...
-
行タイトルを最終ページだけ表...
-
Excelであるシートだけ印刷でき...
-
カラーで一括印刷したいです
-
【Excel】複数シートがあるエク...
-
エクセルでシートの色がグレー...
-
エクセルのマクロで複数シート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルを開く時、常...
-
エクセルの一部のセルの背景色...
-
エクセル印刷時 一枚の書類に...
-
Excel 特定のシートを印刷不可...
-
マクロで印刷→セルの値から部数...
-
エクセルの行タイトルを特定の...
-
エクセルで複数のシートの1枚目...
-
エクセルのマクロで複数シート...
-
エクセルで行番号、列アルファ...
-
特定のセルに数値が入っている...
-
1ヶ月分の日付を一度に出す方法...
-
エクセルのシート名を印刷した...
-
エクセルでのヘッダーをページ...
-
条件によって印刷するシートを...
-
【Excel】複数シートがあるエク...
-
EXCEL マクロ 条件の合ったシー...
-
エクセルのページ設定を他のペ...
-
エクセルでシートの色がグレー...
-
行タイトルを最終ページだけ表...
-
特定のシートのみ印刷できない...
おすすめ情報