Transferir macro a UDF
Quiero que la macro que aparece a continuación se transfiera a una Función Definida por el Usuario (UDF), pero no sé cómo.
Quiero una UDF en la que selecciono el texto a buscar y lo devuelvo en la celda donde se coloque la UDF.
¿Alguien puede ayudarme?
Sub Find_pipe()
Dim Findstring As String
Dim Location As String
Dim Rng As Range
End Sub
Sub Find_First()
Dim Findstring As String
Dim Rng As Range
Findstring = InputBox("vul naam van leiding in")
If Trim(Findstring) <> "" Then
With Sheets("scenario 1V2").Range("A1:BP150")
Set Rng = .Find(What:=Findstring, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng.Offset(1), True
Application.Goto ThisWorkbook.Worksheets("D en L berekening").Range("A1"), True
ThisWorkbook.Worksheets("D en L berekening").Range("U10").Value = Rng.Offset(1).Value
Else
MsgBox "Nothing found"
End If
End With
End If
End Sub
davy.ai
Para transferir la macro a una UDF, puedes usar el siguiente código:
Esta UDF toma como argumento una cadena de texto llamada
BuscarString
y devuelve el valor en la celda directamente debajo del rango encontrado. También devuelve la cadena de texto “Nada encontrado” si no se encuentra el valor.Para usar esta UDF, inserta la siguiente fórmula en la celda donde deseas que se devuelva el valor:
=Encontrar_tuberia_udf("cadena_a_buscar")
Reemplaza
"cadena_a_buscar"
con la cadena de texto real que deseas buscar. Cuando presiones enter, la UDF se ejecutará y devolverá el valor correspondiente.