電子書籍の厳選無料作品が豊富!

いつもお世話になっております。

VBAでユーザーフォームのチェックボックス使用したデータを作成しています。

●ユーザーフォームの仕様
 1.各県名ごとにフレームを作成し、フレーム内に市名と全選択のチェックボックスを配置
 2.各フレームの全選択のチェックボックスにチェックを入れると、フレーム内の市名のチェックボックスにチェックが入る
 3.フレーム外の全選択のチェックボックスにチェックを入れると、全チェックボックスにチェックが入る。

●オブジェクト名
・フレーム
 Frame1:神奈川県 Frame2:茨城県 Frame3:栃木県
・チェックボックス
 CheckBox1:フレーム外の全選択
 CheckBox2~4:各フレームの全選択
 CheckBox5~11:市町村名(横浜市~小山市の順)

●プロシージャ
1つ1つの動作をIFステートメントを使って記述しています。
※IFの中身については、チェックボックスの数がもっと多ければ For Nextなんかを使ってもっとスッキリできますが、今回は数か少ないので羅列しています。

以上に関して、貼付ファイルのようなコードを記述してみました
一応仕様を満足する動作はしてくれるようですが・・・

ご指摘がありましたら、よろしくお願いします。

「VBAユーザーフォームの操作について」の質問画像

A 回答 (1件)

IF A=True Then


 B=True
 C=True
Else
 B=True
 C=True
End If

 ↓

B=A
C=A

 ↓
Dim isTrue As Boolean

isTrue=A
B=isTrue
C=isTrue

2番目の書き方もありでしょうが、私のお勧めは3番目。理由は、2番目は判定の都度にフォームを参照するからです。3番目の場合は、フォームの参照は一度だけ。加えて、isTrue はメモリに配置されずにスタックエリアに記憶されるかも知れません。まあ、大した違いはありませんが・・・。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

お礼日時:2014/10/16 10:46

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