🧨
全てのシートにあいまい検索するマクロ
はじめに
全てのシートに、あいまい検索をかけ、ヒットしたシートのセルに移動するマクロを作りました。
用意するもの
検索フォーム
あいまい検索ボタンを最初のシートに設定する。
検索フォームを呼び出すマクロ
検索フォームを呼び出すマクロ
Option Explicit
Sub ボタン3_Click()
UserForm2.Show
End Sub
検索フォームマクロ
Option Explicit
Private Sub CommandButton1_Click()
Dim search_word As Variant
Dim target_word As Variant
Dim search_word_count As Long
Dim ws As Worksheet
Dim start_row, end_row, start_col, end_col, i, j As Long
start_row = 6
end_row = 1000
start_col = 1
end_col = 40
Dim h_count As Long
search_word = TextBox1.Value
target_word = Replace(search_word, " ", "")
target_word = Replace(target_word, " ", "")
search_word_count = LenB(target_word)
If search_word_count = 0 Then
MsgBox "文字数0です。スペースだけ、文字列を入力せずに「検索」ボタンを押さないようにしてください"
Exit Sub
End If
For Each ws In ThisWorkbook.Sheets
For i = start_row To end_row
For j = start_col To end_col
If ws.Cells(i, j) Like "*" & target_word & "*" Then
ws.Select
Cells(i, j).Select
h_count = h_count + 1
Dim result
result = MsgBox("検索結果にふさわしい回答ですか?", vbOKCancel)
If result = vbOK Then
Exit Sub
End If
End If
Next j
Next i
Next ws
If h_count = 0 Then
MsgBox "検索した結果、ヒットしませんでした"
End If
MsgBox "検索結果は以上です"
End Sub
Private Sub UserForm_Initialize()
End Sub
最後に
あいまい検索をマクロで実装してみました。
Discussion