プロが教える店舗&オフィスのセキュリティ対策術

首記の件、御指導願います。
技術も知識も足りない未熟者ですが宜しく御願致します。
さて、内容ですが、下記の通りです
現況:シート2~8に文章が入力されています。
作業:シート1に表紙を作る(シート2~8の表題を記入)。
   シート1の各表題の前にチェックボックスを作成。
   シート1のチェックボックスがオンである表題のシートを
   抽出し一括で印刷する。
   又、シート1-1を作りシート1でオンである表題のみ縦に
   順番に表示する。
   
以上です。
可能でしょうか?
私のレベルでは無理と言われるかもしれませんが、
何とか作成したいので御指導のほど宜しく御願致します。
   

A 回答 (6件)

結局VBAでSheet名も活用してしまっているのでいまいちかも。


[Alt]+[F11] VBE
挿入 - 標準モジュール に下記貼り付け。
Sub 印刷()
Dim n As Byte
n = 3 '3行目
Do '繰り返し
'E列で「True」だったら D列に書いてあるシート名を印刷プレビュー
If Range("E" & n).Value Then _
Worksheets(Range("D" & n).Value).PrintPreview
n = n + 1
If n > 255 Then Exit Sub '不要とは思うが一応
Loop Until Range("E" & n).Value = "" 'E列の値がなくなるまで
End Sub


Sheet1に印刷ボタンを設定し、上記マクロを登録する。
「エクセルでチェックボックスを使用してシー」の回答画像6
    • good
    • 0

明らかに、検証不足でしたm(_ _)m


Sheet4は印刷されてしまいました

印刷に関することはVBAを使うことになりそうです
すみませんでした
    • good
    • 0

#3です


肝心のPrint_Area の数式が間違ってました m(_ _)m
=IF(Sheet1!$B$3,Sheet3!$A$1:$E$14,"")
ではなく
=IF(Sheet1!$E$3,Sheet3!$A$1:$E$14,"")
です。Sheet1!B3セルではなく、E3セルでした
「エクセルでチェックボックスを使用してシー」の回答画像4
    • good
    • 2

(VBAを使ったほうがよい気もしますが)


VBAは苦手なのでユーザーフォームのチェックボックスを使う方法です。

Sheet1
チェックボックスとE列のセルをそれぞれリンクさせる。
(D列はメモ用なので書く必要はない。)
F1セル 1
F2セル =E3+F2 下へオートフィル
G1セル =MAX(F:F)

Sheet2
A2セル =IF(Sheet1!$G$2>ROW(A1),ROW(A1),"")
B2セル =IF($A2="","",INDEX(Sheet1!C:C,MATCH($A2,Sheet1!$F:$F)+1))
A2:B2セル 下へオートフィル

Sheet3
印刷範囲を選択して ファイル - 印刷範囲 - 印刷範囲の設定
[Ctrl]+[F3]名前の定義 「Print_Area」 という名前があるので参照範囲を
=IF(Sheet1!$B$3,Sheet3!$A$1:$E$14,"")
として追加する(A1:E14セル範囲が印刷範囲の場合)

Sheet4~
Sheet3 同様に Sheet4、Sheet5 も参照範囲を
=IF(Sheet1!$B$4,Sheet3!$A$1:$E$32,"")
=IF(Sheet1!$B$5,Sheet3!$A$1:$E$20,"")
のようにする

印刷
Sheet3~Sheet5までを選択(作業グループ化)してから印刷する
「エクセルでチェックボックスを使用してシー」の回答画像3
    • good
    • 0

エクセルもシートとチェックボックスの組み合わせた使い方は、エクセル中・上級以上のわざです。


シート(もっと言うならセルの値)とチェックボックスの接点はプロパティのLinkedCellの指定しかなく、セルの値にならないと、関数等では使えないし、そういう方法で出来ない場合では、チェックボックスをVBA(プログラム)で扱わないといけない。
例えば
B列の該当(シートを示す)行に1を入れたら指定(選択)の扱いにしてはだめなのか。
しかしこれにしても、そのB列の行の空白か1かによって、対応するシート(タブ)の選択に結びつけることは、VBAで無いと出来ないと思う。関数ではシート選択は出来ない。
シートが(複数とか)選択できたら、印刷(ただし手操作)は出来る。
それは「抽出」のイメージでなく、複数シートの一括印刷ができるという、エクセルの印刷の仕組みに持ち込むのだ。
VBAを勉強しないでやることは不可能と思うが、質問のシブリから相当
誰かの指導が必要と思う。
本質問は、丸投げなので答えないが、内容的にはVBAのそんなに難しいところを使うものではない。
コントロール(チェックボックスなど)などを使うとどうしてもVBAの出番になる。チェックボックスの値をどの時点で採るかという点では、コマンドボタンの貼り付け、クリックイベントと言う仕組みなどのことに課題が発展しそうである。
また印刷操作もボタン1つのクリックなどで、したいとなるだろうから。
ーー
後半は
Sheet2
A列   B列                    E列
TRUE沿革についてチェックB ON1

TRUE製造についてチェックB OM2

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を出さないようにする式など、そもそも上記の式を理解してもらえるか心配があり、省略。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/07/02 15:55

>私のレベルでは無理と言われるかもしれませんが、


どの程度かわかりませんが、文書化できないレベルでしょうか?
何をやりたいのか、つかみかねます。

メモ帳などに下記を記入しておくことをお勧めします。
そのまま、この掲示板に張り付けてもよいと思います
1.現状の把握
 実行したいExcel上の操作をすべて書き出す(箇条書き)
2.手作業や人間が判断している部分に法則性がある場合は自動化できる可能性が高いので、詳しく書く
3.人でしか判断できない部分は入力画面などをだす(印刷部数など)

この回答への補足

回答ありがとうございます。
遅くなりましたが、やりたいことを順を追って書いてみました。
レベルは、表や書面を作る程度です。深く理解はしていません。
希望作業は以下の通りです。
宜しく御願致します。

1.シート1に目次(書類をファイルしたときの目次)を作成
 
例(シート1):    -目次ー
         1.○○○について
         2.□□□について
         3.×××について

2.目次の項目ごとにチェックボックスをつける

例(シート1):    -目次ー
         □1.○○○について
         □2.□□□について
         □3.×××について

3.シート3以降に文章を作成

例(シート3~):  1.○○○について
           (1)・・・・・・・・・・・・。
           (2)・・・・・・・・。

4.シート1の必要な項目のボックスにのみチェックを入れる

5.シート1でチェックした項目のみ順番にシート2に表示する

例(シート1):    -目次ー
         ■1.○○○について
         □2.□□□について
         ■3.×××について

             ↓

例(シート2):    -目次ー
          1.○○○について
          2.×××について
          

6.シート2の目次に表示された項目についての文章(シート3以降)のみ印刷する。
  ※1.シート2の目次も一緒に印刷する。
  ※2.文章は項目ごとにシートを分けて作成する。

以上。

補足日時:2009/07/02 15:18
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています