ギリギリ行けるお一人様のライン

宜しくお願い致します。
一つのシートに複数列で数千のデータの検索、表示をさせたいです。複数列とは言っても同じ13桁の数字が入っています。
宜しくお願い致します。

A 回答 (3件)

No.2です。



投稿後気づきました。
いちいちコードを訂正するより、
入力画面を表示させそこに検索データを入力した方が間違が少なく、手間もかからないですね。

前回のコードはすべて消去して↓のコードに変更してください。
(やり方は前回と一緒です)

Sub Sample2() 'この行から
Dim c As Range, myRng As Range, myVal As Variant
myVal = InputBox("検索したいデータを入力")
With ActiveSheet
.Cells.Interior.ColorIndex = xlNone
Set myRng = .Cells.Find(what:=myVal, LookIn:=xlValues, lookat:=xlWhole)
If Not myRng Is Nothing Then
For Each c In .UsedRange
If c = myVal Then
Set myRng = Union(myRng, c)
End If
Next c
myRng.Interior.ColorIndex = 6
Else
MsgBox "該当データなし"
End If
End With
End Sub 'この行まで

何度もごめんなさいね。m(_ _)m
    • good
    • 0

こんばんは!



>検索、表示をさせたいです
「表示」をさせるというのがどうするのか判らないので
(単に羅列してもすべて同じデータになると思われます)
そこでセルを「黄色」に塗りつぶすVBAにしてみました。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim c As Range, myRng As Range
ActiveSheet.Cells.Interior.ColorIndex = xlNone
Set myRng = Cells.Find(what:=検索したい数値, LookIn:=xlValues, lookat:=xlWhole)
If Not myRng Is Nothing Then
For Each c In UsedRange
If c = 検索したい数値 Then
Set myRng = Union(myRng, c)
End If
Next c
myRng.Interior.ColorIndex = 6
End If
End Sub 'この行まで

※ コード内の「検索したい数値」の部分を「数値そのもの」に変更してマクロを実行してください。(2ヶ所)
※ 文字列の場合はダブルクォーテーションで囲む必要があります。m(_ _)m
    • good
    • 0

検索機能を使ってみてください。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報