

vbaの右端から,(FindNext,FindPrevious,after他)メソッドでできますか。  
(参考)Range.Find メソッド (Excel)  
<https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/range-find-method-
excel>

[code]

    Sub atest()
        Dim Moji As String
        Dim iAtta As Long
        Moji = "宝物"
        Cells(2, 2) = Moji
        Cells(2, 3) = Moji
        Call myFind右端から(Moji, 2, iAtta)
        MsgBox Moji & "は" & Cells.Find(Moji).Column & "列目にありました。" & vbCrLf & _
               Moji & "は最後" & iAtta & "列目にありました。"
    End Sub
    Sub myFind右端から(Moji As String, iGyome As Long, iAtta As Long)
        For i = Cells(iGyome, Columns.Count).End(xlToLeft).Column To 1 Step -1
            If InStr(Cells(iGyome, i), Moji) > 0 Then
               iAtta = i
               Exit Sub
            End If
        Next
           MsgBox iGyome & "行目に「" & Moji & "」を入れて下さい。"
           End
    End Sub
    '宝物は2列目にありました｡
    '宝物は最後3列目にありました｡
    
[/code]

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー  
20180420 追加  
vbaのFindで,行を指定して下から上へ検索したい。  
(参考)Findで下から上へ検索したい  
<http://www.relief.jp/docs/excel-vba-find-from-bottom.html>

[code]

    Sub atest()
        Dim Moji As String
        Moji = "宝物"
        Cells(2, 2) = Moji
        Cells(2, 3) = Moji
        MsgBox Moji & "は" & Rows(2).Find(Moji).Column & "列目にありました。" & vbCrLf & _
               Moji & "は最後" & Rows(2).Find(What:=Moji, SearchDirection:=xlPrevious).Column & "列目にありました。"
    End Sub
    '宝物は2列目にありました｡
    '宝物は最後3列目にありました｡
    
[/code]

SearchDirection:=xlPreviousで解決しました。ありがとうございました。


CC BY-SA 3.0
2018-04-19T14:09:14.037
43394
2018-04-20T19:49:36.500
2018-04-20T19:49:36.500
17199
17199
question
vba
vbaのFindで,行を指定して下から上へ検索したい。