フィルタで絞り込んだ行に対して処理を行う。

膨大な行数のテーブルに対して,ある条件でフィルタをかけて抽出したデータについて一括処理をしたい場合のコードです。
簡単な例として,上のテーブルで,建設年次が不明な橋梁を絞り込んで抽出し,それらの橋梁の建設後経過年数を高度経済成長期に建設されたと仮定してランダムに設定します。
“フィルタで絞り込んだ行に対して処理を行う。” の続きを読む

テーブルの全ての行に対する処理を繰り返す。

旧ローカルサーチAPIの提供終了に伴い、現在、本記事で変換ができなくなっております。近々に代替案に差し替えます。

Excelでデータベース的なアプリケーションを構築している場合,全ての行(レコード)に対して作業を繰り返し行う処理が必要な場合があります。一般的にはRangeやCellsを使って処理することも考えられますが,行数が決まっていない場合や,途中で列を挿入したりして,RangeやCellに対する処理の書き換えが必要になったりします。そこで,列をColumn(コラムあるいはフィールド),行をRow(あるいはレコード)として取り扱いやすいテーブルオブジェクト(ListObject)を用いるのが有効です。
例として,前述の逆ジオコーディングを連続で処理する例を考えます。例えば上表の逆ジオコーディングを処理するとします。
“テーブルの全ての行に対する処理を繰り返す。” の続きを読む

フィルタの状態を確認してから解除を行う。

ワークシートまたはワークシート内のテーブルにフィルタをかけたりして検索・抽出作業などを行ったあと,全てのフィルタを解除するのは,ShowAllDataメソッドを使うだけなのですが,そもそもフィルタがない場合や,フィルタで絞り込みが行われていない場合はエラーになってしまうので,以下のように,フィルタが使われているか(FilterModeプロパティ)を確認します。
“フィルタの状態を確認してから解除を行う。” の続きを読む

フォームのメニューバーの[x]ボタンクリックしても閉じないようにする。

フォームに配置したいずれかのボタンを必ずクリックさせて処理をさせたいとき,メニューバーの閉じるボタンでフォームを終了させたくない場合は,閉じる前に発生するイベントQueryCloseでCancelさせます。
“フォームのメニューバーの[x]ボタンクリックしても閉じないようにする。” の続きを読む