• ベストアンサー

Excel チェックボックスにより選択され印刷

よろしくお願いします。 A□ (F10のセルにtrue) B□ (F11のセルにtrue) C□ (F12のセルにtrue) Aならページ60 Bならページ70 Cならページ80 チェックボックスを3つ用意して、チェックがされている個所(ページ)のみ印刷をしたいです。 チェックボックスオンでtrueを返すまでは設定できたのですが、例えば、Aがオン(F10にtrueが表示)ならページ60を印刷と言うのがなぜか出来なくて困っています。 ご教授下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (713/1473)
回答No.3

という事は全部にチェックしてあったら、 60ページ、70ページ、80ページ 飛び飛びに印刷するのですか。 Option Explicit ' Sub Macro1()   Dim ROut As Integer   Dim Page As Integer '   For ROut = 10 To 12 '     If Cells(ROut, "F") Then       Page = ROut * 10 - 40       ActiveSheet.PrintOut From:=Page, To:=Page     End If   Next ROut End Sub

timmytimmy
質問者

お礼

なかなか自分でExcelを触れる時が無くて試せてませんが、ひとまずお礼まで。 ありがとうございました

その他の回答 (3)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

参考に Sub Test() If Range("F10").Value Then ActiveSheet.PrintOut From:=60, To:=60 If Range("F11").Value Then ActiveSheet.PrintOut From:=70, To:=70 If Range("F12").Value Then ActiveSheet.PrintOut From:=80, To:=80 End Sub

timmytimmy
質問者

お礼

ありがとうございます!

  • SI299792
  • ベストアンサー率48% (713/1473)
回答No.2

「ページ60」が解りません。何でしょうか。 私が思い付くのは、 ①領域に「ページ60」等の名前が付いている。(名前の管理) ②どこかのセル「ページ60」が入っている ③印刷範囲が 100ページ位あり、その中の60ページ(1ページだけ)印刷。 取りあえず①と解釈して作りました。 Option Explicit ' Sub Macro1()   Dim ROut As Long '   For ROut = 10 To 12 '     If Cells(ROut, "F") Then       ActiveSheet.PageSetup.PrintArea = "ページ" & ROut * 10 - 40       ActiveSheet.PrintOut     End If   Next ROut End Sub

timmytimmy
質問者

お礼

ありがとうございます!

timmytimmy
質問者

補足

ご回答ありがとうございます。 説明不足で失礼しました。 ③印刷範囲が 100ページ位あり、その中の60ページ(Aの場合)(1ページだけ)印刷。 をしたいです。 チェックボックスオンされたやつのみ(AだけとかA B C全部とか)印刷されると良いのですが。 よろしくお願いします。

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

質問の内容から、エクセル(VBA)の未経験者と推測する。 まだこういうことをやるのは、早すぎるのではないか。凝りすぎと思う。 他人に使ってもらうため、というなら、なおさら経験を積んでからやるべきと思う。 エクセル、VBA、使う立場の人間心理など。 ーー チェックボックスを設けるのは、場所的に (1)ユーザーフォームに (2)ワークシートに (3)その他に があるが、 この(1)が標準で、(2)は勉強が必要な面がある ーー VBAを使うことにならざるを得ないと思うのだが、イベントという考えを利用する必要がある。 今回は、チェックボックス(コントロールの一種)には、(エクセルには)マクロの登録と言う仕組みがあるので、それを使うことになろう。いわば、Clickイベント1つに制限版です。 ーー これらコントロールと、ワークシートのセル(番地で表される)は 根源的には関係ないもので、LinkedCellなどでエクセルが、わざわざ設けた仕組によればそうなるという仕組みに過ぎない。 だからエクセルシートのセルの値がTRUEならば、何々すると考えるよりも チェックボックスがクリックされたらとか、チェック状態なら、と捉える方がよいと思う。 ーー 標準モジュールに Sub test01() ActiveSheet.PrintOut From:=1, To:=1 End Sub Sub test02() ActiveSheet.PrintOut From:=2, To:=2 End Sub のようなコードを作って置く。ページ設定操作の一部の限定版です。 ページ番号的に、FromとToで指定する。単一1ページ限定なら、FromとToは同じ値にする。 これで印刷するページ該当のチェックボックスをマウスなどで、Onにすると、印刷が始まると思う。 1,2ページでテスト済み。 コントロールのデザインモードで、右クリックして出る、マクロの登録で,test01やTest02を指定(コントロールごとに)紐づけて)おく。 後は、これで印刷するページ該当のチェックボックスをOnにすると印刷が始まる。 印刷指定後、チェックボックすをOffにすることは略。

関連するQ&A

  • エクセルVBA チェックボックスで;;

    下記のような表を作っているんです・・・     A   B   C    D    1  日付  名前  評価   2  1日   あ   A   □ 3  2日   い   B   □ 4  2日   う   A   □ 5  4日   え   D   □ というような感じです(まだ右と下は項目いっぱいあります) Dのセルにチェックボックスをつけてチェックが入った物のみを別なシートにコピーしてそのページを印刷させ印刷し終わったら印刷した行の色を変えたいのです。 色々試してみたのですが、チェックボックスのON OFF判断もままならない状況でした;; どなたか宜しくお願いいたします。

  • チェックボックスのリンク先を変更したい

    2枚のシートがあります。 1枚のチェックボックスの状態を別シートのセルにリンクしています。 例えばこんな状態です↓ <シートA>   A     B  C 1 ON(B!C1) 001 イグチ 2 OFF(B!C2) 002 アオキ 3 ON(B!C3) 003 ウエダ ※ON/OFFはチェックボックスのことです。  ()内がリンクセルです。 <シートB>  A  B    C 1 001 イグチ TRUE 2 002 アオキ FALSE 3 003 ウエダ TRUE シートAは表示用のシートで実際のデータ操作はシートBを使います。 シートBで並び換えを行ってもシートAのチェックボックスのリンク先は 並び換え前から変わりません。 並び替え後のセルに自動的にリンク先が変わるようにするにはどのように設定すればよいのでしょうか? よろしくお願いします。

  • Excelのチェックボックスの有無で複数セルの表示を○に変えたい

    Excelのチェックボックスのチェックを付けて、複数個所の表示を変えたいと考えています。 チェックボックスにチェックをつけたら、複数のセルに○が表示されるようにしたいのですが、設定の仕方が分かりません。 どなたか教えてください。 (現在一つのセルにだけ○を表示させる事は出来ています) 【現在】 (1)チェックボックス「1」を配置 (2)以下の設定。 コントロールの書式設定→コントロールタブ選択。→リンクするセルでa1を指定→ok ⇒チェックボックス操作で、a1にtrue・falseが表示されている。 (4)b1に数式を入力する。=IF(A1=TRUE,"○","ー") (5)チェックが入った場合はb1に○が表示されている。 【やりたい事】 (1)チェックボックス「1」にチェックが入った場合、b1,d1,f1,h1,j1,l1,等の複数セルに○を表示させたい (2)チェックボックス「2」、を同様に作成し、チェックを入れた場合、 b1,d1,のセルに○を表示させたい。 (チェックボックス「1」にチェックが入ってない場合でも「2」にチェックが入れば、○を表示させたい)

  • チェックボックスにマクロを入れて印刷する

    チェックボックスにマクロを入れて印刷するやり方について ご教授いただきたく、質問させていただきます。 シート1   A   B   C    D 1  あ  ●  TRUE  レ 2  い  ×  FALSE 3  う  ▲  TRUE  レ エクセルで上記のシートA1,B1にデータを入力し、 Dにあるチェックボックスにチェックを入れると A1の「あ」をコピーし、シート2のX1にペーストして VLOOKUPを使ってシート1のB1をA1に表示させ、 印刷したいと思っています。 (もちろん、「あ」と「●」の2項目しかないわけではなく、 1行に8項目あり、シート1では横一列に並んでいるものを、 シート2の見栄えのいいフォーマットで、印刷します。 行数は100行くらいあります。) シート2     A      X  1  ●         あ マクロの記録で、「チェックを入れる→コピー→ペースト→印刷→シート1に戻る」とし、   Application.Run "Book1.xls!印刷" Range("A1").Select Selection.Copy Sheets("Sheet2").Select Range("X1").Select ActiveSheet.Paste Application.CutCopyMode = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("元").Select となりましたが、チェックを入れても動作しなかったため、 「Application.Run "Book1.xls!印刷"」を削除したところ、 正常に動きました。 問題は・・・・    チェックを入れると動作する(^_^)    チェックを外す時も動作する(T_T)    1個のチェックボックスにマクロは設定できたけれど、    100行あったとしたら、100個のチェックボックスを作成し    1個1個マクロを記録させる?まとめてはできない?    チェックボックスをコピー&ペーストしたところ、    うまくいきませんでした。    (チェックを入れると印刷という動作でOKで、     チェックをあらかじめ入れておき、最後に印刷ボタンで     印刷するというやり方ではありません。     VLOOKUPを使っているので、無理ですよね(・_・;)) 初めてのチェックボックスですが、途中まで簡単にできた!と思ったけど、つまづいてしまいました。 色々調べたのですが、素人同然の私には難しくご質問させていただきました。 皆様お忙しいと思いますが、宜しくお願いいたします。                

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

    Excelでチェックボックスをセルとリンクさせると、TrueかFalseがセル上に記録されると思います。 この情報は他セルで計算式で使用したいです。 しかし印刷するとTrue、Falseが印刷されてしまうと思います。 文字列の色を背景色と同じにしてしまえば印刷されていないように見えますが、こういった方法ではなく、印刷させないようにするにはどのような方法がありますか? チェックボックスとリンクするセルを非表示にしてしまう方法は考えました。 この方法が現実的な気がしていますが、それ以外に有効な方法があればお願いいたします。 環境はExcel2003です。

  • エクセル チェックボックス

    エクセルで複数の特定セルのどれかにOKの文字が入力されると、 チェックボックスに自動でチェックが入るようにできますか? (A1のセルかB1のセルかC1のセルにOKが表示されると チェックボックスにチェックが自動で入る。) よろしくお願いいたします。

  • エクセルのチェックボックス

    エクセルで作成した表  日付と品名とチェックボックスと金額が入ったセルがあります。    例  A           B        C 日付          金額   チェックボックスと金額 1999/12/1   1000   □  500 2000/10/1   2000   □  600 という風にデータが入った表を日付ごとに並べ替えをしようとすると チェックボックスのデータだけチェックマークがオンのデータをオフのデータが 並びかえがされず、困っています。 どうしたらいいのでしょうか?

  • エクセル マクロ フォームのチェックボックス

    エクセルのフォームのチェックボックスで【On】にした際に 「コントロールの書式設定」にある「リンクするセル」のロックをしたいのですが マクロで実現する際、どのようなにできるのでしょうか? また、フォームのチェックボックスで【Off】にした際に、「リンクするセル」のロックの解除のしたいです。 初心者で下記を記述しましたが、チェックボックスが多いため、すべてのチェックボックスに登録するのが時間がかかるのあで、教授お願いします。 Cells.Locked = False ActiveSheet.Protect userinterfaceonly:=True ActiveSheet.Range("AY29").Locked = True

  • エクセルでチェックボックスを使った関数。。。

    どなたかお助け下さい。。。 エクセルでチェックボックスを使った関数を作っています。 http://106.g-serve.net/kojin/555566666.gif 【2の行】のどれか一つにチェックを入れると【A2】に1の行の項目が反映されるようにしたいのですが、 例えば、【C2】にチェックを入れると【A2】に「交際費」と表示 各チェックボックスには「コントロールの書式設定」でリンクするセルは指定済みです。 とりあえず、A2には =IF(B2=FALSE,"",B1) まで書いたのですが。。。 手詰まりです@@; 各列のチェックボックスにはどれか1つチェックが入ります。 どうぞよろしくお願いいたします!

  • エクセル2007 チェックボックスの印刷できません

    エクセル2007 チェックボックスの印刷できません よろしくお願いします。印刷プレビューで見ても出てきません。 ウェブ上で、印刷プレビューから上段の「印刷プレビュー」→「印刷」→ 「ページ設定」→「シート」の中の簡易印刷設定のチェックを外して、 というアドバイスがあったのですが、簡易印刷にはチェックが 入っていませんでした。 これが原因ではないか、というご意見をいただければと思います。 よろしくお願いします。

専門家に質問してみよう