Microsoft Office Excel

Find

全シート検索:

Set Obj = Worksheets("Sheet1").Cells.Find("りんご")
If Obj Is Nothing Then
    MsgBox "りんごは見つかりませんでした。"
Else
    lngYLine = Worksheets("Sheet1").Cells.Find("りんご").Row
    intXLine = Worksheets("Sheet1").Cells.Find("りんご").Column
    MsgBox "りんごは、" + CStr(lngYLine) + "行目の" _
            + CStr(intXLine) + "列目にあります"
End If

列指定で検索

FindRowIndex("検索対象シート","A:A","検索対象文字列")

'当たりセルの行番号を返す
Function FindRowIndex(sheetName As String, cellsRange As String, columnString As String) As Integer
    Set obj = ActiveWorkbook.Sheets(sheetName).Columns(cellsRange).Find(What:=columnString, LookAt:=xlPart)

    If obj Is Nothing Then
        FindRowIndex = -1
    Else
        FindRowIndex = obj.row
    End If
End Function
引数定数内容
What 検索するデータを指定
After 検索を開始するセルを指定。省略すると左上端から開始する
LookInxlFormulas検索対象の種類を指定。数式
xlValues
xlComentsコメント文
LookAtxlPart一部が一致するセルを検索
xlWhole全てが一致するセルを検索
SearchOrderxlByRows検索の方向を指定。列
xlByColumns検索の方向を指定。行
SearchDirectionxlNext検索の順序を指定。順方向(規定値)
xlPrevious検索の順序を指定。逆方向
MatchCaseTrue大文字と小文字を区別する。
False区別しない(規定値)
MatchByteTrue半角と全角を区別する
False区別しない(規定値)

FindNextで全体検索

データがあるまで全部検索する

Sub 検索()
 Dim firstFindCell As Range
 Dim firstCell As Range
 Dim result As Range
 
 Set firstFindCell = Cells.Find(What:=Range("C4").Value, LookAt:=xlWhole)
 Set firstCell = firstFindCell
 Set result = firstFindCell
  
  Do
    Set firstFindCell = Range("D8:D20").FindNext(firstFindCell)
    If firstFindCell.Address = firstCell.Address Then
      Exit Do
    Else
      Set result = Union(result, firstFindCell)
    End If
  Loop
  result.Select
End Sub


セシウム137を97.7%吸着

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:43:16 (1627d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze