私が知られている行の値を検索する必要がある場合、私はこのようなものを使用します。
target
値: l_locate_value_row
をこれらは、その引数です私は探している、例えば私が見ていvityata
target_sheet
シート(vba_nameであるべきである)Iが第2の値ではなく、最初のものを探していた場合、私は
Optional l_values_found As Long = 1
を探していた
Optional l_col As Long = 1
カラム、私は2を与えるでしょう。
したがって、l_locate_value_row("vityata",tbl_main)
は、最初の行を返します。ここで、vityata
が見つかります。値が見つからない場合は、-1
を返します。
Public Sub Decrement(value_to_decrement, Optional l_minus As Long = 1)
value_to_decrement = value_to_decrement - l_minus
End Sub
Public Function l_locate_value_row(target As String, target_sheet As Worksheet, Optional l_col As Long = 1, Optional l_values_found As Long = 1) As Long
For Each my_cell In target_sheet.Range(target_sheet.Cells(l_col, 1), target_sheet.Cells(Rows.Count, l_col))
If target = my_cell Then
If l_values_found = 1 Then
l_locate_value_row = my_cell.Row
Exit Function
Else
Call Decrement(l_values_found)
End If
End If
Next my_cell
l_locate_value_row = -1
End Function
だから、あなたが持っている*具体的な問題は何ですか?あなたは何を試しましたか、どこで困惑していますか?あなたは 'InputBox'と' Range.Find'を探しましたか? –