<< | 2025 年04 月 | 1 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 | >>
Updated
2025.04.05 (Sat)
2025.04.05 (Sat)
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Updated
2007.12.23 (Sun)
2007.12.23 (Sun)
皆さんは、EXCELのVBAをご存知であろうか。
MICROSOFTのEXCELにはVISUAL BASICで
コーディングして、エクセルファイルを自由自在に、プログラム制御
できる機能がある。

EXCEL2007では、その機能は大幅に、改良され、データのソートも
ソート条件のキー項目も今までは3までしか登録できなかったのに、
64のキー条件を設定できるのである。
VBAの使い方であるが、EXCELの「ツール」の「マクロ」からVISUAL BASIC
EDITOR があるので開いてみてほしい。これで、マクロを作成して、
マクロ▲を起動させると、VBAが作動する仕組みである。
「最初は、マクロを記録する」を選択して、エクセルの画面上で、やりたい
動作をおこない。また、ツールのマクロから、記録終了、でVISUAL BASIC
EDITORのMODULEから、その記録された内容を確認するといい。
しかし、マクロの記録は無駄な記述が多いので、自分でカスタマイズする
ことがよいVBAをつくるには必須である。
私も、最近VBAに携わる事があるのであるが、データベースと関連が
深い部分でEXCELを使用しようとする時、どうしてもこのキー条件
を3つまでしか設定できないのは、障害になっていた。
キー項目を3つ以上設定すると、エラーになるし、キー項目を増やしたい
場合、たとえば、6つにするとなると、2回にソートを分けなければいけな
い。
AutoFilter メソッド
Field フィルタの対象となるフィールド番号
(リストの左側から数えた番号)を指定
Criteria1 抽出条件となる文字列を指定
Criteria2 2番目の抽出条件となる文字列を指定。Criteria1とOperator と組み合わせて、複合抽出条件を指定
VisibleDropDown true ドロップダウン矢印を表示
False ドロップダウン矢印を非表示
Operator xlAnd Criteria1かつCriteria2
xlOr Criteria1またはCriteria2
xlTop10Items 上位10番
xlBottom10Items 下位10番
xlTop10Percent 上位10%
xlBottom10Percent 下位10%
'フィールド番号1(セルA列を含むアクティブセル領域)の中から"enjoyyoulife"に一致するデータを抽出
Sub AutoFilter()
Worksheets("Sheet1").Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="1"
Key1:=Range("A2"), Order1:=xlAscending, _
Key2:=Range("D2"), Order2:=xlAscending, _
Key3:=Range("F2"), Order3:=xlAscending, _
End Sub
ここで注目して欲しいのが、CurrentRegionである。
アクティブセルといって、縦列、横列のセルで値が入力されている場所の
最大セルをX,Yととって、自動的に最大範囲を作成できる、制御命令
なのである。これは、使用していて、とても使いやすく、また、範囲を
決めるロジックでも確実な結果が得られる。
Xについては、タイトル項目を設定すればよいだろう。
Yについては キー項目になる列、もしくは、オートナンバーなどをデータ
にもたせて、設定すればよい。
また、VBAについては、記事をかきたいと思う。
ネット検索で助かった事、いろいろあるので、ぜひとも、紹介していきたい
と思う。
VBAに挑戦したい人は
次のHPが役に立つ。
ここの田中先生のHPにはいつもお世話になっている。
http://officetanaka.net/
たなか先生はEXCEL WORLD というEXCELユーザーの
為のSNSまで企画されているので参加されてみてはどうだろう。
私も参加している。もちろん無料だ。
OKWAVEで質問するのもよいかもしれない。
http://dospara.okwave.jp/c232.html
では、また。
PR
MICROSOFTのEXCELにはVISUAL BASICで
コーディングして、エクセルファイルを自由自在に、プログラム制御
できる機能がある。
EXCEL2007では、その機能は大幅に、改良され、データのソートも
ソート条件のキー項目も今までは3までしか登録できなかったのに、
64のキー条件を設定できるのである。
VBAの使い方であるが、EXCELの「ツール」の「マクロ」からVISUAL BASIC
EDITOR があるので開いてみてほしい。これで、マクロを作成して、
マクロ▲を起動させると、VBAが作動する仕組みである。
「最初は、マクロを記録する」を選択して、エクセルの画面上で、やりたい
動作をおこない。また、ツールのマクロから、記録終了、でVISUAL BASIC
EDITORのMODULEから、その記録された内容を確認するといい。
しかし、マクロの記録は無駄な記述が多いので、自分でカスタマイズする
ことがよいVBAをつくるには必須である。
私も、最近VBAに携わる事があるのであるが、データベースと関連が
深い部分でEXCELを使用しようとする時、どうしてもこのキー条件
を3つまでしか設定できないのは、障害になっていた。
キー項目を3つ以上設定すると、エラーになるし、キー項目を増やしたい
場合、たとえば、6つにするとなると、2回にソートを分けなければいけな
い。
AutoFilter メソッド
Field フィルタの対象となるフィールド番号
(リストの左側から数えた番号)を指定
Criteria1 抽出条件となる文字列を指定
Criteria2 2番目の抽出条件となる文字列を指定。Criteria1とOperator と組み合わせて、複合抽出条件を指定
VisibleDropDown true ドロップダウン矢印を表示
False ドロップダウン矢印を非表示
Operator xlAnd Criteria1かつCriteria2
xlOr Criteria1またはCriteria2
xlTop10Items 上位10番
xlBottom10Items 下位10番
xlTop10Percent 上位10%
xlBottom10Percent 下位10%
'フィールド番号1(セルA列を含むアクティブセル領域)の中から"enjoyyoulife"に一致するデータを抽出
Sub AutoFilter()
Worksheets("Sheet1").Cells(1, 1).CurrentRegion.AutoFilter Field:=1, Criteria1:="1"
Key1:=Range("A2"), Order1:=xlAscending, _
Key2:=Range("D2"), Order2:=xlAscending, _
Key3:=Range("F2"), Order3:=xlAscending, _
End Sub
ここで注目して欲しいのが、CurrentRegionである。
アクティブセルといって、縦列、横列のセルで値が入力されている場所の
最大セルをX,Yととって、自動的に最大範囲を作成できる、制御命令
なのである。これは、使用していて、とても使いやすく、また、範囲を
決めるロジックでも確実な結果が得られる。
Xについては、タイトル項目を設定すればよいだろう。
Yについては キー項目になる列、もしくは、オートナンバーなどをデータ
にもたせて、設定すればよい。
また、VBAについては、記事をかきたいと思う。
ネット検索で助かった事、いろいろあるので、ぜひとも、紹介していきたい
と思う。
VBAに挑戦したい人は
次のHPが役に立つ。
ここの田中先生のHPにはいつもお世話になっている。
http://officetanaka.net/
たなか先生はEXCEL WORLD というEXCELユーザーの
為のSNSまで企画されているので参加されてみてはどうだろう。
私も参加している。もちろん無料だ。
OKWAVEで質問するのもよいかもしれない。
http://dospara.okwave.jp/c232.html
では、また。
この記事にコメントする
最新記事
(10/26)
(09/30)
(08/18)
(07/13)
(06/12)
(05/27)
(05/26)
(12/17)
(12/14)
(08/08)
最新コメント
[10/25 Veneprink]
[10/25 Veneprink]
[08/25 BlelayBot]
[07/04 Cevytrinueree]
[05/27 Cevytrinueree]
リンク
カレンダー
03 | 2025/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 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 |
カテゴリー
最新トラックバック
フリーエリア
プロフィール
HN:
ニセイタ
年齢:
48
HP:
性別:
男性
誕生日:
1977/01/01
職業:
システムエンジニア
趣味:
格闘技
自己紹介:
現在、将来の起業を目標に、同志と日々奮闘中。
このブログを通して、成功するため、恋愛をうまく
成就させるための、学びを極める所存。
このブログを通して、成功するため、恋愛をうまく
成就させるための、学びを極める所存。
ブログ内検索
最古記事
(09/06)
(09/07)
(09/20)
(09/26)
(09/26)
(10/11)
(10/26)
(10/27)
(10/27)
(10/31)
アクセス解析
カウンター