OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

EXCEL VBAでの 文字列検索

  • 困ってます
  • 質問No.202533
  • 閲覧数2127
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 12% (4/33)

セル内の文字列を部分一致で検索したいのですが、
下記の構文だと、検索対象シートを選択しなくてはならないため、
PGの動きが堅くなってしまいます。何かいい方法をご存知の方、
教えてください。

Selection.Find(What:=key, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False).Activate

Cells.FindNext(After:=ActiveCell).Activate
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 68% (791/1163)

>PGの動きが堅くなってしまいます。・・・

質問の意味を理解しているか疑問ですが、Selectionを問題にされているのでしょうか。
また、検索の進行を制御しないとFindNextだけでは終わらなくなります。

下は検索範囲を選択しないでマクロ内で定義して検索しています。検索文字もInputBoxを使えば任意に指定できます。検索して何を行なうか分からないのでメッセージを出しています。
また、少し変形すれば、複数シートの検索も可能ですね。そういう意味では柔らかくなっている? ご参考に。(Excel97です)

Sub Kensaku()
  Dim schSheet As String '検索シート
  Dim schColumns As String '検索列
  Dim schRg As Range '検索範囲
  Dim schWhat As String '検索文字
  Dim fndCell As Range '検索したセル
  Dim fstRow As Long '検索したセルの行
  Dim fstColumn As Integer '検索したセルの列

  'Sheet1の列A~Cで文字『A』を探す例です
  schSheet = "Sheet1"
  schColumns = "A:C"
  schWhat = "A" '= InputBox("検索文字を入力して下さい。")

  '検索範囲をセット
  Set schRg = Worksheets(schSheet).Columns(schColumns)

  'アクティブセルを検索範囲の使っている最後のセルにする
  Set fndCell = schRg.SpecialCells(xlLastCell)

  '検索開始
  Set fndCell = schRg.Find(What:=schWhat, after:=fndCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, MatchByte:=False)
  '見つかった!
  If Not (fndCell Is Nothing) Then
    '最初に見つかったセルの行、列番号を記憶
    fstRow = fndCell.Row
    fstColumn = fndCell.Column
    Do
      MsgBox "ありました! " & fndCell.Address
      Set fndCell = schRg.FindNext(after:=fndCell)

      '最初に見つかったセルを再度見つけるまで続ける
    Loop Until (fndCell.Row = fstRow) And (fndCell.Column = fstColumn)
  End If

End Sub
お礼コメント
Neigh

お礼率 12% (4/33)

ごめんなさいぃ。3つも回答していただいており、すべて良回答
だったのに、ここのサイトの点の渡し方がわからず、質問を
一つ良回答点をさしあげることができませんでした
ごめんなさいm(__)m
投稿日時 - 2002-01-21 23:47:31
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ