0

大量の行と列で構成される Excel ファイル内の単語を検索するためのマクロ ショートカットを作成しようとしています。必要な単語を検索して、プログラムが行全体を強調表示できるようにする方法はありますか?

例

たとえば、「b」を検索すると、次のように行全体が強調表示されます。

ここに画像の説明を入力

4

1 に答える 1

0

これを試して:

Sub test()

Dim rng, cel As Range
Dim search_item

Set rng = Selection
search_item = InputBox("Find what?", "Test")

For Each cel In rng
    If cel.Value = search_item Then
        cel.EntireRow.Select
        Exit For
    End If
Next cel

End Sub

これで始められることを願っています。

更新: 大きな行を検索するとおっしゃいました。
これを使用することもできます:

Sub test()

Dim rng As Range
Dim arr() As Variant 'i do not know your data type
Dim search_item As Variant 'i do not know your data type, change to your liking
Dim lrow, lcol As Long
Dim found As Boolean

Set rng = Selection
lrow = rng.Rows.Count
lcol = rng.Columns.Count

ReDim arr(1 To lrow, 1 To lcol)
arr = rng.Value

search_item = InputBox("Find what?", "Test")

For i = 1 To lrow
    For j = 1 To lcol
        If arr(i, j) = search_item Then
            rng.Cells(i, j).EntireRow.Select
            found = True
            Exit For
        End If
    Next j
    If found Then Exit For
Next i

End Sub

両方のコードは、あなたが望むことを行います。
現在選択されている範囲を検索します。
大きな選択範囲を検索する場合、2 番目のコードの方が高速です。
また、どちらも完全一致のみを検出します。

于 2013-10-14T08:55:50.900 に答える