タイトルのテキスト
タイトルのテキスト
タイトルのテキスト
タイトルのテキスト

エクセルVBAで特定の数字以上を検索するマクロの作り方を徹底解説【検索して選択】

VBA

t f B! P L

 


材料試験などで、試験のロギングデータなどの処理を行う際、

ロギングデータの最初の部分は、力の変位が起きておらず、変化が起きてからの特定の数値以上を探したい時があります。

条件付き書式を使って、特定の値以上のセルに色を付けるなどは出来ますが、

膨大なロギングデータの中から、その色が変わっている部分を探すのにも手間がかかります。

ボタン一つで特定の値以上のセルに移動するためのマクロがあります。

コードの紹介

そのコードは以下になります。

 Sub 特定の値以上を検索()

 Dim a As Long

 a = InputBox("数値を入力")

 Do Until ActiveCell.Value = ""

If ActiveCell.Value > a Then

Exit Sub

Else

ActiveCell.Offset(1, 0).Select

End If

 Loop

 

End Sub

 使い方を説明していきます。  

①コードのコピペ

Alt + F11 を押して、VBEを開きます。

コードを「個人用マクロブック」、「作業中のブック」どれでも構いませんので、

標準モジュールを挿入して、そこにコードをコピペします。」

検索したい列の一番上のセルを選択した状態で、

「実行」をクリックし、「Sub/ユーザーフォームの実行」をクリックし、コードを実行します。


②検索したい数値の入力

INPUTボックスが表示されるので、そこに、検索したい数字を入力します。


サンプルでは「5」と入力しています。

OKをクリックしましょう。

 

③結果の出力

セルが移動して、5以上の最初の数字である「6」が選択されました。 

  

④コードの解説

解説

 Sub 特定の値以上を検索()

マクロの名前です。

 Dim a As Long

aという変数を数値の型で宣言しています。

 a = InputBox("数値を入力")

インプットボックスを開き、変数aに任意の数値を代入しています。

 Do Until ActiveCell.Value = ""

 選択されているセルが空白になるまで続けろ

 If ActiveCell.Value > a Then

 もし、選択されているセルが「a」より大きい場合

Exit Sub

プログラムの終了

Else

他の場合

ActiveCell.Offset(1, 0).Select

選択されているセルの一つ下に動け

 End If

条件分岐の終了

Loop

ループ処理の終了

 End Sub

プログラムの終了

となっています。

 

コピペして使ってみてください。

koneka1208

koneka1208

自己紹介

自分の写真
エクセル好きの窓際会社員です。 エクセルの操作法や日々の会社で得た知見などを発信していきます。 よろしくお願いします。

ブログ アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ