0
指定された値が見つかった範囲を返すには関数などが必要です。値で範囲を見つけるExcel-VBA
私は、各セルの値が指定した値と等しく、範囲を構築している場合、指定された範囲チェックをループすることを考えています。より洗練された方法はありますか?
指定された値が見つかった範囲を返すには関数などが必要です。値で範囲を見つけるExcel-VBA
私は、各セルの値が指定した値と等しく、範囲を構築している場合、指定された範囲チェックをループすることを考えています。より洗練された方法はありますか?
ここには私が構築した機能があります。これは、必要な値が見つかったユニオン範囲を返します。
Private Function FindRange(what As String, lookin As Range) As Range
Dim cell As Range
On Error GoTo errhandler
For Each cell In lookin.Cells
If UCase(cell.Value) = UCase(what) Then
If findrange Is Nothing Then
Set findrange = cell
Else
Set findrange = Application.Union(findrange, cell)
End If
End If
Next cell
Exit Function
errhandler:
findrange = CVErr(xlErrNA)
End Function
次のコードを試してください。数式を使用すると、結果をセル自体で取得できます。
=findvalueandrange(searchstring,selectyourrange)
Public Function findvalueandrange(findingtext As String, r As Range) As String
Dim cell As Range
For Each cell In r.Cells
If LCase(cell.Value) = LCase(findingtext) Then
If findvalueandrange = "" Then
findvalueandrange = cell.Address & ":" & cell.Value
Else
findvalueandrange = findvalueandrange & "|" & cell.Address & ":" & cell.Value
End If
End If
Next cell
End Function
ご満足いただけると思いますか?