2010年11月11日

ActiveX1.チェックボックスコントロール

  A B C D E F G H
1  
  • 1.チェックボックスコントロール
     チェックボックスは、項目の選択状態を示します。
    埋め込みオブジェクトの書式 [ =EMBED("Forms.CheckBox.1","") ]
     
    ◆マウスでセルを右クリックすると、VBAマクロでチェックボックスを追加する
     チェックボックスのサイズは、セルの幅・高さに合わせて調節されます。
    ◆マウスでセル行を右クリックすると、「チェックボックス」を削除する
    ◆選択された全てのデータ行を抽出して印刷する
    ◆行選択状態で右クリックすると、「チェックボックス」を削除する

1.チェックボックスコントロール

 ワークシートを名簿や住所録として使用するのは、さほど珍しくはありませんね。商品や製品などの管理にも役立っていると思います。ワークシートは、65,536行に対して256列しかありませんので、データの配置は、行(横方向)に対して項目、列(縦方向)に並べていくのが一般的です。

 Excelは取り立ててVBAマクロを使わなくても、VLOOKUP関数を使ってデータを抽出したり、フィルタやピボットテーブル、クエリを使ってデータの絞込みや検索抽出が出来るようになっています。

 一覧形式になっているデータ表の中から、任意のデータだけを抽出するのは中々難しい場合があります。数字を基準にする場合は大小、文字の場合は含む・含まないなどの基準を設けることができますが、人間の感情までは伝えられません。

 このサンプルは、チェックボックスがチェックされているデータだけを印刷するVBAマクロです。Excelに「このデータだよ!」と伝える方法として、こんなチェックボックスの使い方はいかがでしょうか。

  • マウスを右クリックすると、ワークシート上にチェックボックスを作成する
    ExcelVBAマクロ
     
     ワークシートを名簿として使用しています。A列の単一セル上でマウスを右クリックするとチェックボックスを作成します。VBAマクロでは、確認メッセージの表示後、「A列」かつ「行21以降」で「右クリック」されたら、オブジェクト[ =EMBED("Forms.CheckBox.1","") ]の名前をその「Chk_(行番号)」、リンクするセルを「A(行番号)」に設定、高さと幅をセルに合わせるようにしています。

 

  • マウスを右クリックすると、ワークシート上のチェックボックスを削除するExcelVBAマクロ
     
     チェックボックスを削除するときは、行番号を選択した後にマウスを右クリックします。該当のチェックボックスコントロールだけを削除します。

 

  • チェックボックスでチェックされている行データだけを印刷するExcelVBAマクロ
     
     ワークシート上に作られたチェックボックスのうち、チェックされているデータ行だけをワークシート[ Sheet2 ]へ抽出し、印刷プレビューします。各データは書式設定情報をもとに、規定の位置に格納されますので、宛名書きなども楽にこなせます。
     
     このVBAマクロでは、Excelの印刷・印刷プレビューコマンドをジャックしているので、印刷ボタンを押しても印刷プレビュー画面が表示され、また、印刷されるのは[Sheet2]のみ、更に、どのチェックボックスもチェックされていないときには、印刷されないようになっています。

ワークシートにマクロでチェックボックスを作るサンプル[ CheckBox.xls ]
※必ずダウンロードしてから、Excelを使って開いてください。

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
posted by くきお at 11:11| Comment(0) | ActiveXコントロール | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。