忍者ブログ
2007/09/08 ここから始まる成功するための集い場
<< | 2024 年05 月 | 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 31 | >>
[12]  [13]  [14]  [18]  [19]  [20]  [21]  [23]  [24]  [25]  [26
Updated   
2024.05.18 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Updated   
2007.12.23 (Sun)
皆さんは、EXCELVBAをご存知であろうか。

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
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
04 2024/05 06
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 31
最新トラックバック
フリーエリア
プロフィール
HN:
ニセイタ
年齢:
47
HP:
性別:
男性
誕生日:
1977/01/01
職業:
システムエンジニア
趣味:
格闘技
自己紹介:
現在、将来の起業を目標に、同志と日々奮闘中。
このブログを通して、成功するため、恋愛をうまく
成就させるための、学びを極める所存。
バーコード
ブログ内検索
アクセス解析
カウンター