ExcelVBAのFindで下から上に検索する
この記事では当方がExcelVBAプログラミングの仕事で必要になった処理をまとめております。
ExcelVBAでFindを使用して下から上に検索したい方向けの記事です。
ExcelVBAのFindで下から上に検索する方法
回数をカウントするときに1つ前のセルの回数に1を足したい。
累計金額を計算するときに1つ前のセルの合計金額と該当セルの金額を足したい。
ExcelVBAマクロ作成の依頼を受注したときに上記のような処理が必要になりました。
Excelの機能や関数ではできなかったためExcelVBAで作成しました。
事前準備としまして下記データをご用意ください。
Findで下から上に検索するコードの作成
「開発」タブをクリック
「Visual Basic」をクリック
「Findで下から上に検索する」コードの入力
Findで下から上に検索するコードの解説
今回作成するコードのポイントは下記1点です。
・Findで下から上に検索する
Range.FindメソッドでA1からA列のデータの最終行で指定していますのでA1セルが開始点となります。SearchDirectionにxlPreviousを指定することでA1セルよりも前つまりA列の最終行から検索が行われるということです。
※コード作成になれるまでは必ず紙に書き出して考えるようにしましょう!
Findで下から上に検索するボタンにマクロを登録
手順については「ExcelVBAでブックのシート名を検索して見つかったときにシートをアクティブにさせる方法」の記事の「シート検索ボタンにマクロを登録」を参照ください。
Findで下から上に検索するコードの実行
Findで検索して見つかったとき
「下から検索」ボタンをクリック
「A6に見つかりました。」とメッセージが表示される
Findで検索して見つからなかったとき
「下から検索」ボタンをクリック
「見つかりませんでした!」とメッセージが表示される
結論(まとめ)
「ExcelVBAのFindで下から上に検索する方法」を解説しました。
・Findで下から上に検索するコードの作成
・Findで下から上に検索するボタンにマクロを登録
・Findで下から上に検索するコードの実行
「森山式次世代メディア活用法 メール講座」というメルマガを発行しています。これからのWEB集客術を学んでみませんか?