エクセルのVBAで記述しようと思います。
下記の様なチェックボックスとテキストボックスが有ります。
チェックボックス1 テキストボックス
チェックボックス2 テキストボックス
チェックボックス3 テキストボックス
チェックボックスの隣に文字列を入力出来るとします。
各、1,2,3は区分、番号、名前として
オートフィルタでそれぞれがチェックされた時に
例えば1と3ならば区分と名前でオートフィルタで抽出。
1と2ならば、区分と番号、すべてなら区分、番号、名前で抽出
としたいのですが
各チェックボックスがオンなのか?の判断と
オートフィルタをどう書けばいいのか?悩んでます。
IF?CASE?DO?何をどうすればいいのか?
お手すきな方はどうぞ宜しくお願い致します。
■各チェックボックスがオンなのか?の判断
コントロールの値の参照は、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"
お役に立てれば。
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...
無事に解決しました。有難う御座いました。
■各チェックボックスがオンなのか?の判断
コントロールの値の参照は、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"
お役に立てれば。
無事に解決しました。有難う御座いました。
無事に解決しました。有難う御座いました。