Excel VBAでチェックボックスの行を別シートにコピーし、タイトル付きで印刷する方法

このQ&Aのポイント
  • Excel VBAを使用して、チェックボックスにチェックがついた行を別のシートにコピーし、まとめた内容をタイトル付きで印刷したいです。
  • 質問内容は少し難しいですが、ExcelのVBAを使ってチェックボックスにチェックがついた行を別のシートにコピーし、最終的にまとめた内容をタイトル付きで印刷したいです。
  • ExcelのVBAを使って、チェックボックスにチェックがついた行を別のシートにコピーし、タイトルをつけて印刷する方法を教えてください。
回答を見る
  • ベストアンサー

Excel2002 VBA チェックボックスについて質問です

VBA超初心者です。 過去の質問も見たのですが、あまりピンとくるものがなくて…(私の理解力がないのもあるのですが;;) チェックボックスにチェックがついたらその行を丸々別のシートにコピーをし、さらにコピーしてまとめたものを、タイトルをつけて印刷するという動作を行いたいのです。 行数は267行あります。 イメージとしては、下のような感じになります。    A    B        C  1 名前 サブファイル名 資料名 2 名前 サブファイル名 資料名 ・ ・ ・ 267 … 質問内容が理解しにくいものでしたら申し訳ありません。 年末でお忙しいとは思いますが、どうかよろしくお願いいたします。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

禁止事項、ネチケットは読みましたか? 禁止事項の「丸投げ・依頼」の項目に目を通してください worksheetでのCheckBoxの一般的な使用方法は http://kokoro.kir.jp/excel/checkbox.html CheckBoxの値をセルに反映させて、そのセルを参照して処理すれば出来ます これ以上は詳細が不明なため回答できません CheckBoxの値をどこにするのか 印刷するシートの構成が分からない タイトルは設定しておけばよいのでは >VBA超初心者です。 は、かまいませんが、ここでコードを得ても 自分の環境に合わせたり、エラー回避のコードは 自分でやる必要があるため、最低限のスキルが無いと 意味の無いものになってしまいます

ns21jk26
質問者

お礼

hige_082 様 回答ありがとうございます。 禁止事項は読んではいたのですが、きちんと理解をしていませんでした。 今回初めての投稿とはいえ、改めて自分の質問内容を見て、全くなっていないことに反省しています。 ご指摘ありがとうございました。 >CheckBoxの値 データの一番右端に値をつけようと思っていました。 上の図でいえば、D列になります。 >印刷するシートの構成 ただのまっさらなシートに挿入させようと思っていました。 >タイトルは設定しておけばよいのでは これは設定済みです。言葉足らずですみません;; 今まで作成したことがあるものはテキストボックスやコンボボックス、リストボックスぐらいです。 教えていただいたURL先は今まで見てきた中で一番わかりやすく、とても役に立ちました。 このような初心者に、本当にありがとうございます。

関連するQ&A

  • Excelのチェックボックス

    Excelのシートにチェックボックスをつけたいと思い、コントロールを使って貼り付けました。 これを60行くらいコピーして保存終了後、開いてみるとものすごく開くのが重くなりました。 そこで ・チェックボックスを作る別の方法 ・作ったチェックボックスを少しでも軽くする方法 のいずれかを用いて、もう少し軽く動作するようにしたいです。 何か工夫はありませんか。

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

    チェックボックスにマクロを入れて印刷するやり方について ご教授いただきたく、質問させていただきます。 シート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を使っているので、無理ですよね(・_・;)) 初めてのチェックボックスですが、途中まで簡単にできた!と思ったけど、つまづいてしまいました。 色々調べたのですが、素人同然の私には難しくご質問させていただきました。 皆様お忙しいと思いますが、宜しくお願いいたします。                

  • エクセルVBAでのチェックボックス操作

    エクセルを利用した、VBAで困っています。 所定のsheetに埋め込まれたチェックボックスに対して、 別sheet内のセルの値を参照し、結果をオン、オフという 操作を行いたいのですが、チェックボックスに対するVBAでの指定方法 が分かりません。 イメージとしては (1)Sheet1内にチェックボックスがある。  該当チェックボックスは7個のチェックボックスで構成されており  それぞれにchb1~chb7といったオブジェクト名がある。 (2)sheet2のA1セルに特定の値が入っていればチェックボックス(chb1)  がオン値がなければオフのまま (3)sheet2のB1セルに特定の値が入っていればチェックボックス(chb2)  がオン値がなければオフのまま という感じです。 先方より指定された様式なのでsheet1の内容や書式を変更することが出来ないので、なんとか埋め込まれたオブジェクトを操作したいのですが・・・ 良い方法があれば教えてください。

  • チェックボックスに関して(vba)

    VBA初心者のためコードを教えてくれますと助かります。 シート1にリストが記載されています。 チェックボックスで選択されている値を取得して(シート1のA列の商品名から)、チェックされている値のデータを転記するようなコードを作成したいと思っております。(別途シート追加する) 知識不足でうまく動きません。よろしくお願いします。

  • EXCEL2003でチェックボックスを大量に

    EXCEL2003のマクロで、 1シート内に、大量のチェックボックスを 作成したいのですが、途中で止まります。 エラーメッセージは、 ”オートメーションエラーです。要素が見つかりません” です。 マクロの内容は、データベースを読み 1レコードずつ、シートの1行に転記した後 横に、チェックボックスを、7個作ります。 500レコードぐらいあるのですが 170レコード目の6個目を作成するところで 先ほどの エラーになります。 一度、その現象になると Worksheet(対象シート名).~~ の、プロパティみたり、メソッド実行したりしようとすると ”オートメーションエラーです。要素が見つかりません” になります。 シート名を認識できなくなっているのでしょうか。 チェックボックスを、2,000行分(14,000個)作りたいのですが 無理でしょうか? ちなみに、Excel2010 ですが http://support.microsoft.com/kb/980528/ja で、レジストリを変更することを 書かれていましたが やってみてもダメでした。 オブジェクト数に限界があるのでしょうか? どんな小さなヒントでもかまいません。 なにとぞよろしくお願いします。

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

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

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

    VBA初心者です。 あるシート(セル)に作った入力用チェックボックスにチェック(TRUE)を入れたときに、別シートの特定の位置に楕円を引きたいのですが、どのようなやり方があるでしょうか。 使い方は入力用シートと印刷用シートを分けて、入力用シートのチェックボックスの状態で印刷用シートの特定のセルに選択したことがわかるように楕円をつけたいというものです。 よろしくお願いします。

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

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

  • 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 VBA】チェックボックスの有無

    Excel2003を使用しています。 昨日、『チェックボックスの挿入位置』で質問させていただきましたが、その続きというか、もうひとつ条件を追加したく、改めて質問させていただきます。 Sheet2のN1セルに入力されている番号と同じ番号が入力されているセルをSheet1のA列(A11:A200)から探して、その行のB列にチェックボックスを挿入したく、下記のようにコードを書いています。 ---------------------------------------- Sub test2() Dim myStr As String Dim myRange As Range myStr = Sheets("Sheet2").Range("N1").Value Set myRange = Sheets("Sheet1").Range("A11:A200").Find(myStr) If myRange Is Nothing Then Exit Sub Else Sheets("Sheet1").OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False, _ Left:=myRange.Offset(, 1).Left , Top:=myRange.Top , Width:=12, Height:=13).Select End If End Sub ---------------------------------------- それで、今回追加したい条件は、既に、チェックボックスが挿入されていた場合は、何もせずに処理を終えたいのです。 現在は、チェックボックスが挿入されていると、そのチェックボックスの上に新たに重なってしまいますので、そうならないようにできたらと思い、質問させていただきました。 よろしくお願いします。

専門家に質問してみよう