• 締切済み

エクセルでチェックボックスを使用してシートの抽出及び一括印刷

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

エクセルもシートとチェックボックスの組み合わせた使い方は、エクセル中・上級以上のわざです。 シート(もっと言うならセルの値)とチェックボックスの接点はプロパティのLinkedCellの指定しかなく、セルの値にならないと、関数等では使えないし、そういう方法で出来ない場合では、チェックボックスをVBA(プログラム)で扱わないといけない。 例えば B列の該当(シートを示す)行に1を入れたら指定(選択)の扱いにしてはだめなのか。 しかしこれにしても、そのB列の行の空白か1かによって、対応するシート(タブ)の選択に結びつけることは、VBAで無いと出来ないと思う。関数ではシート選択は出来ない。 シートが(複数とか)選択できたら、印刷(ただし手操作)は出来る。 それは「抽出」のイメージでなく、複数シートの一括印刷ができるという、エクセルの印刷の仕組みに持ち込むのだ。 VBAを勉強しないでやることは不可能と思うが、質問のシブリから相当 誰かの指導が必要と思う。 本質問は、丸投げなので答えないが、内容的にはVBAのそんなに難しいところを使うものではない。 コントロール(チェックボックスなど)などを使うとどうしてもVBAの出番になる。チェックボックスの値をどの時点で採るかという点では、コマンドボタンの貼り付け、クリックイベントと言う仕組みなどのことに課題が発展しそうである。 また印刷操作もボタン1つのクリックなどで、したいとなるだろうから。 ーー 後半は Sheet2 A列   B列                    E列 TRUE 沿革について チェックB ON 1 TRUE 製造について チェックB OM 2 FALSE 販売について チェックB OFF A,B、E列は第3行目から始まり1行おきにしている E列の式は =IF(A3=TRUE,MAX($E$1:E2)+1,"") Sheet3では(質問では1-1シート) B3に =INDEX(Sheet2!$B$3:$B$20,MATCH(ROW()-2,Sheet2!$E$1:$E$20,0),1) 下方向に式を複写する。 #N/Aを出さないようにする式など、そもそも上記の式を理解してもらえるか心配があり、省略。

sa780323
質問者

お礼

ありがとうございます。 指導なしではとても無理なことが 一目瞭然でした。 指導してくれる人を身近でも探してみます。 もし、見つからない場合指導していただけないでしょうか。 色々勝手なお願いばかりで失礼しました。

関連するQ&A

  • エクセル2003のチェックボックス一括解除について

    シート上にある、フォームで作成したチェックボックスに付けられたチェックを、 コントロールツールボックスで作成した、「ボタン」をクリックして、 一括に、チェックを外したいと思うのですが、 「ボタン」にVBAを記述して、このようなことは可能でしょうか? ご教授いただけます方、どうぞよろしくお願い申し上げます。

  • Excelチェックボックスのリンクするセル一括

    Excelでチェックボックスのリンクするセルを一括設定したいです。 sheet1に複数のチェックボックスを作成し、それぞれのリンクするセルをsheet2に入れたいのですが、チェックボックスが数10個あるので、1つづつやっていると手間がかかります。 例 sheet1のB2のリンクするセルをsheet2のB2 sheet1のB3のリンクするセルをsheet2のB3 sheet1のB4はsheet2のB4 … 一括でやる方法(多分VBA)はわかりますか。

  • エクセルシート上の[チェックボックス]を一括消去する方法を教えて下さい。

    表示]→[ツールバー]→[フォーム]の、[チェックボックス]で作成した、エクセルシート上の[チェックボックス]を一括消去する方法を教えて下さい。右クリック選択して1個ずつ切り取り消去していますが、列削除や編集→クリア→すべて でも消去できず、たくさんあるときは手間がかかります。

  • Excel VBA 複数シートの一括印刷について

    標記の件、御指導願います。 シート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     このエラーを回避する方法を御指導してください。 よろしくお願い致します。

  • エクセルのチェックボックスについて

    エクセルで、フォームにて下記のようなチェックボックスを作りました。(Exel2003) □あいうえお □かきくけこ □さしすせそ □たちつてと そこで、チェックを入れた項目の文字だけを抽出して、他のセルに、上から順番に表示させることは可能でしょうか?(他のセルは、複数、一つを問いません) さらに欲をいうと、下記のように、抽出した項目の、上から順番に、項目の先頭に番号がふられるとうれしいのですが、このようなことは可能でしょうか? 例:か行とさ行にチェックを入れた場合 (1)かきくけこ (2)さしすせそ チェックしたものから抽出できるだけでも結構ですので、何かご存知の方がいらっしゃいましたら、何卒よろしくお願いいたします。

  • VBA チェックボックスをチェックした名前のみ抽出

    数百名のリストからチェックした名前のみ抽出したいと思いまして。 1.シート1のA、C、E…奇数列にフォームのチェックボックスを配置 2.B、D、F…偶数列に名前を並べる 3.チェックボックスでクリックし、チェックマークが出る 4.マクロでSheet2のA列から抽出された名前を並べる 宜しくお願いします。

  • Excelのチェックボックスについて

    Excelにてチェックボックスを使用した資料を作成しています。そこで教えていただきたいのですが、シート内に二つのチェックボックスがあり、一つにチェック入れると、もう一つにもチェックが入るようにしたいのですが・・・。もちろん、チェックを外すと、もう一つもチェックがはずれるようにしたい。どなたか教えていただけないでしょうか?

  • エクセル:チェックボックスで他シート複数図形を操作

    現在、エクセルにて sheet1に帳簿内容入力画面 sheet2に入力画面の項目を反映した印刷用帳簿 というものを作成しています。 その中で、sheet1にチェックボックスを1つ設置し、チェックONでsheet2任意の場所に 4個のオートシェイプの楕円を一括表示、チェックOFFで4つの楕円を一括消去、 とさせたいのですが、うまくいきません。 sheet1上にチェックボックス1個・楕円を1個設置し、 ------------------------------------------- Sub test01() With ActiveSheet If .CheckBoxes(Application.Caller).Value = xlOn Then worksheets("sheet2").Shapes("楕円1").Visible = True Else worksheets("sheet2").worksheets.Shapes("楕円1").Visible = False End If End With End Sub ------------------------------------------- とイベント設定をしたところ、チェックON/OFFで楕円1個の表示/非表示はできるように なりました。 残りの楕円2、3、4を構文内に色々当てはめてみましたが、エラーが出てしまいます。 どのように記述すれば一括表示できるでしょうか。 連投申し訳ないですが、詳しい方アドバイスを宜しくお願いします。

  • VBA チェックボックスをチェックした項目のみ抽出

    1.シート1のA列にフォームのチェックボックスを配置 2.B列に名前を並べる 3.チェックボックスでクリックし、チェックマークが出る 4.マクロでシート2のA列から抽出された名前を並べる 以上のことをしたいと思い、検索しましたところ、似たようなものが見つかりました。 https://okwave.jp/qa/q5065347.html ただ、このVBAは抽出先がG列です。抽出先はシート2のA列にしたいのです。 .Cells(i, "G").Value = cb.TopLeftCell.Offset(, 1).Value これをどうしたら良いでしょうか? 宜しくお願いします。

  • EXCELでチェックボックスの一括オンオフ

    EXCEL2000を使用してます。 アンケート作成をしており、設問毎にチェックボックスで複数選択できるようにしていますが、1つの設問にチェックボックスが8~10等多くあるため、設問毎にチェックボックスの一括オンオフができるようにしたいのです。 今は、次の記述で、ある設問のみ全てのチェックボックスにレが入りますが、はずす事ができません。 Sub チェック11_Click() ActiveSheet.CheckBoxes(Array(1, 2, 3)).Value = True End Sub どうすれば、チェック11のボックスで、オンオフができるのでしょうか? どうか教えて頂きますよう、よろしくお願い致します。