実務では、検索フォームは、絶対に必要ですよね。

そんな時に、Excelで作成すると思いますが、結構、Excelで作成するのは大変です。

しかし、いまからACCESSを利用するにしても・・・・・・・

そんなときに、配列を使うと思います。

しかし配列も、取っつきにくいです。

検索フォームを作成するとき

こんにちは。伊川(@naonaoke)です。

ACCESSを勉強して、Excelを勉強して、今は、少し、まともな検索フォームを作成できるようになりました。

しかし、ここまで、到達するまでに、結構な苦労がありました。

ここまでの苦労話をしようと思います。

勉強するまでは、【Ctrl+F】を利用していましたが、ある意味、最強の検索方法です。

このブログはこんな人にお勧め

今回のテーマ
  • Excelや、ACCESSで検索フォームを作成したい人
  • 検索フォームを作成する際に、配列を利用しようと思っている人
  • ACCESSで検索フォームを作成したい人

このブログを読み終わるころには・・・・・

検索フォームを作成するには、様々な方法があります。配列、ワークシート関数、ACCESSなど、どの方法を選択するのかは自由です。

私の結論は、ACCESSで作成するか、Worksheetfunctionを利用します。

検索フォームを作成するための条件

検索フォームを作成するために、絶対に念頭に置くべきことは、主キーを設定することです。

Excelでは、主キーという概念はありません。

しかし、唯一のキーを設定することが原則です。

この原則を忘れてはいけません。

かつての私は、検索のキーワードを、沢山、設定することで、より、詳細なデータ抽出ができると思っていました。

しかし、この考え方は、間違いです。

原則は、唯一のキーで一発検索。

これです。

Excel VBA ユーザーフォームで、検索フォームを作成を、紹介した背景

この記事を作成した背景は、お客様からの問い合わせで、キャンペーンコードを検索するために作成しました。

その場合に、Excelのみで完結するか、ACCESSとExcelを連携させるかで議論しました。

結果は、Excelのみで、完結するという結論になりました。

Excelのみで利用するメリット

Excelは、すでに、市民権を得ていて、誰もが操作に抵抗がない。

Excelのみで利用するデメリット

私が紹介したコードでは、メンテナンスが複雑で、作成者が、退社したら、メンテナンスが不可能。

ExcelとACCESSの連携で利用するメリット

コード自体は、複雑であるが、やっていることは、至極カンタン。

ExcelとACCESSの連携で利用するデメリット

ACCESSを利用するということに関して、抵抗勢力に、ACCESSを啓蒙することが必要。

Excelのみで、検索フォームを作成する場合

検索データが、増える可能性があります。

その、検索データが増えた場合でも対応できるように作成しなければなりません。

だから、私は、動的配列を利用しました。

しかし、WorkSheetFuntionと二重ループを理解したら、配列を利用しなくても実装はできます。

その方がはるかにカンタンです。

二重ループが理解できていない人は、下記の記事を参照してください。

それほど、難しいものではありません。

要するに、シート関数をVBAで利用できれば、メンテナンスも楽です。

ACCESSのみで、検索フォームを作成する場合

特にデメリットはありません。

VBAのコードは、わずか3行で完成です。

ACCESSを触ったことがないから、ACCESSを受け入れないのです。

複数のキーワードで検索することも、カンタンです。

データベースを前提に、ACCESSは作成されていますので、このようなことはACCESSのフィールドなのです。

データが30万件くらいあっても、ストレスを感じることなく、検索できます。

ACCESSとExcelを連携して、検索フォームを作成する場合

またしても、競馬ネタで恐縮です。

Excelのユーザーフォームで検索条件を設定します。


このようにACCESSから、データ転送できます。

後は、セルに色を付けるVBAのみを書いています。


このコードは、ワイルドカードで記載しています。

結局、複数の検索条件を合わせて、唯一のキーを作成しています。

その作成したキーで、データ群を転送しています。

データが、30万件あっても、ストレスなく検索できます。

30万件のデータをExcelで管理できるのか?

はっきり言って無理です。

Excelを利用している人なら、理解できると思います。

その無理を可能にするのが、ACCESSです。

月と太陽の関係だと思います。

ACCESSが月、Excelが太陽でしょうか?

先ほど紹介した競馬の検索フォームは、実際に私が売っているものです。

ポイントは、クリックのみで完結するように作成しています。

詳しくは下記の書籍を読んでいただくと理解できます。

この書籍を読むと、ご自身で、信じられないようなアプリを作成できるようになります。

参加者限定特典
プログラミングを覚えると、色々なことができますね。
本気で、プログラムを勉強するなら、無料で参加ですます。
  参加者限定特典あり。TECH::CAMPオンライン説明会   

ここがポイント

ここがポイント
Function8.png
VBAのスキルは、自分が好きなものを作成することではありません。ただの、VBAのスキル自慢になっては、そのシステムは、メンテナンスが不可能になります。どのようなコードで処理をするのかを考えられることも含めて、VBAのスキルなのです。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

ExcelのVBAは特殊で、配列を知らなくても何とかできます。

但し、プログラムというスキルを磨くなら、配列は、必須のものです。

配列は、私もいまだに、コツコツ勉強しています。

その勉強が終わったときには、また、別の世界が見えるかもしれません。

今回も最後までお読みいただきありがとうございました。

 

今回のサンプルファイルはありません。

サンプルファイルを購入希望の方はココをクリック
ネットや基本書で調べるはやめてください

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事