| 
    
     |  | 有難うございました、セル位置の取得が出来ました。 また質問させて頂くときは宜しくお願いします。
 
 ▼ichinose さん:
 >▼セボン さん:
 >こんばんは。
 >
 >>1シート上のあるデータを検索して、そのデータが存在しているセル位置(R1,C1)を取得する方法を教えてください。※アクティブシェルの位置取得ではありません。
 >>例えば、”a2014”という数値があるか検索、データがあることが判明し、かつそのセル位置を取得したいのです。
 >>よろしくお願いします。
 >
 >
 >Findメソッドを使用した例です。
 >だいぶ前に作ったサブプロシジャーですが・・。
 >アクティブシートが検索対象シートです。
 >'=================================================
 >Sub main()
 >  Dim f_value As Variant
 >  Dim find_cell As Range
 >  Dim cnt As Long
 >  cnt = 0
 >  f_value = "a2014" '検索する値を入れる"
 >  Set find_cell = get_findcell(f_value, ActiveSheet.Cells)
 >  Do While Not find_cell Is Nothing
 >    With find_cell
 >     MsgBox "見つかった : 行--" & .Row & " 列--" & .Column
 >     End With
 >    cnt = cnt + 1
 >    Set find_cell = get_findcell() '次の検索
 >    Loop
 >  MsgBox cnt & "個みつかりました"
 >End Sub
 >'==========================================================================
 >Function get_findcell(Optional f_v As Variant = "", Optional rng As Range = Nothing, Optional 方法 As Long = 1) As Range
 >'指定された値でセル範囲を検索し、該当するセルを取得する
 >'input : f_v 検索する値
 >'    rng 検索する範囲
 >'    方法: :検索方法 1-完全一致 2-部分一致
 >'output:get_findcell 見つかったセル(見つからなかったときはNothingが返る)
 >  Static 検索範囲 As Range
 >  Static 最初に見つかったセル As Range
 >  Static 直前に見つかったセル As Range
 >  If Not rng Is Nothing Then
 >    Set 検索範囲 = rng
 >    End If
 >  If f_v <> "" Then
 >    Set get_findcell = 検索範囲.Find(f_v, , xlValue, 方法)
 >    If Not get_findcell Is Nothing Then
 >     Set 最初に見つかったセル = get_findcell
 >     Set 直前に見つかったセル = get_findcell
 >     End If
 >  Else
 >    Set get_findcell = 検索範囲.FindNext(直前に見つかったセル)
 >    If get_findcell.Address = 最初に見つかったセル.Address Then
 >     Set get_findcell = Nothing
 >    Else
 >     Set 直前に見つかったセル = get_findcell
 >     End If
 >    End If
 >End Function
 >
 >確認してみて下さい。
 
 |  |