初歩的な質問で恐縮なのですが、どうしてもわからないので教えて下さい。


エクセルのVBAで記述しようと思います。

下記の様なチェックボックスとテキストボックスが有ります。

チェックボックス1 テキストボックス
チェックボックス2 テキストボックス
チェックボックス3 テキストボックス

チェックボックスの隣に文字列を入力出来るとします。

各、1,2,3は区分、番号、名前として
オートフィルタでそれぞれがチェックされた時に
例えば1と3ならば区分と名前でオートフィルタで抽出。
1と2ならば、区分と番号、すべてなら区分、番号、名前で抽出
としたいのですが

各チェックボックスがオンなのか?の判断と
オートフィルタをどう書けばいいのか?悩んでます。

IF?CASE?DO?何をどうすればいいのか?

お手すきな方はどうぞ宜しくお願い致します。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2008/06/17 09:03:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:tomopo No.2

回答回数15ベストアンサー獲得回数3

ポイント50pt

■各チェックボックスがオンなのか?の判断

コントロールの値の参照は、vbaから、

 Sheet1.Checkbox1.value

 Sheet1.Textbox1.text

等で確認出来ます。Checkbox1,Textbox1等の名前は、デザインモードで

コントロールを選択して、右クリック→プロパティで変更・参照可能です。

Excelの場合、LinkCellというプロパティでコントロールの値とセルの値を連動させることが出来ます。

CheckboxでLinkCell=A1にしておくと、Checkboxの値がA1のセルに表示されます。

今回は無理かもしれませんが、コントロールの値をワークシート関数で処理したりも出来るので

非常に便利な場合が有ります。

■オートフィルタをどう書けばいいのか?悩んでます。

Excelのマクロの大半は、helpを引かなくても

ツール→マクロ→新しいマクロの記録→実際にやりたい操作をしてみる→記録終了で

VBAのコードを作れます。それによると、下記のようなものが出来ました。

 Selection.AutoFilter

 Selection.AutoFilter Field:=1, Criteria1:="条件1"

 Selection.AutoFilter Field:=2, Criteria1:="条件2"


お役に立てれば。

id:iwasakitetsurin

無事に解決しました。有難う御座いました。

2008/06/17 09:02:53

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント50pt

If CheckBox1.Value Then Range("A1") = "ON" Else Range("A1") = "OFF"

CheckBox1がチェックついてるならば A1に ON

ついてないなら OFFをセットします。


Range("A1").Select

Selection.AutoFilter

オートフィルタセット

Selection.AutoFilter Field:=1, Criteria1:="ON"

1列目を ONでフィルタします。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_autofilter.ht...

id:iwasakitetsurin

無事に解決しました。有難う御座いました。

2008/06/17 09:02:46
id:tomopo No.2

回答回数15ベストアンサー獲得回数3ここでベストアンサー

ポイント50pt

■各チェックボックスがオンなのか?の判断

コントロールの値の参照は、vbaから、

 Sheet1.Checkbox1.value

 Sheet1.Textbox1.text

等で確認出来ます。Checkbox1,Textbox1等の名前は、デザインモードで

コントロールを選択して、右クリック→プロパティで変更・参照可能です。

Excelの場合、LinkCellというプロパティでコントロールの値とセルの値を連動させることが出来ます。

CheckboxでLinkCell=A1にしておくと、Checkboxの値がA1のセルに表示されます。

今回は無理かもしれませんが、コントロールの値をワークシート関数で処理したりも出来るので

非常に便利な場合が有ります。

■オートフィルタをどう書けばいいのか?悩んでます。

Excelのマクロの大半は、helpを引かなくても

ツール→マクロ→新しいマクロの記録→実際にやりたい操作をしてみる→記録終了で

VBAのコードを作れます。それによると、下記のようなものが出来ました。

 Selection.AutoFilter

 Selection.AutoFilter Field:=1, Criteria1:="条件1"

 Selection.AutoFilter Field:=2, Criteria1:="条件2"


お役に立てれば。

id:iwasakitetsurin

無事に解決しました。有難う御座いました。

2008/06/17 09:02:53
  • id:iwasakitetsurin
    taknt様、tomopo様
    お答え頂有難う御座います。
    両方にいるかを差し上げたかったのですが1人だけでしたので
    独断でtomopo様が少なかったのでtomopo様にしました。
    taknt様すみません。
    ポイント配分は多めにしておきました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません