見出し画像

この記事では当方がExcelVBAプログラミングの仕事で必要になった処理をまとめております。
ExcelVBAでFindを使用して下から上に検索したい方向けの記事です。

ExcelVBAのFindで下から上に検索する方法


回数をカウントするときに1つ前のセルの回数に1を足したい。
累計金額を計算するときに1つ前のセルの合計金額と該当セルの金額を足したい。
ExcelVBAマクロ作成の依頼を受注したときに上記のような処理が必要になりました。

Excelの機能や関数ではできなかったためExcelVBAで作成しました。

事前準備としまして下記データをご用意ください。

画像1


Findで下から上に検索するコードの作成

画像2

「開発」タブをクリック
「Visual Basic」をクリック
「Findで下から上に検索する」コードの入力

Findで下から上に検索するコードの解説


今回作成するコードのポイントは下記1点です。

・Findで下から上に検索する

Range.FindメソッドでA1からA列のデータの最終行で指定していますのでA1セルが開始点となります。SearchDirectionにxlPreviousを指定することでA1セルよりも前つまりA列の最終行から検索が行われるということです。

※コード作成になれるまでは必ず紙に書き出して考えるようにしましょう!

Findで下から上に検索するボタンにマクロを登録


手順については「ExcelVBAでブックのシート名を検索して見つかったときにシートをアクティブにさせる方法」の記事の「シート検索ボタンにマクロを登録」を参照ください。

Findで下から上に検索するコードの実行


Findで検索して見つかったとき

画像3

「下から検索」ボタンをクリック

画像4


「A6に見つかりました。」とメッセージが表示される

Findで検索して見つからなかったとき

画像5

「下から検索」ボタンをクリック

画像6


「見つかりませんでした!」とメッセージが表示される

結論(まとめ)


「ExcelVBAのFindで下から上に検索する方法」を解説しました。

・Findで下から上に検索するコードの作成
・Findで下から上に検索するボタンにマクロを登録
・Findで下から上に検索するコードの実行

「森山式次世代メディア活用法 メール講座」というメルマガを発行しています。これからのWEB集客術を学んでみませんか?

いいなと思ったら応援しよう!

もりやまよしあき@発達障害×IT×マネタイズラボ&ホンマル☆ラジLive♬メインパーソナリティー
よろしければサポートお願いいたします! いただいたサポートはITプロデューサーとしての活動費に使わせていただきます!