Formulario que hace un buscarv

Tengo el siguiente código de un formulario que encontré y me es util solo que me gustaría modificarlo, lo que hace es que busca de la columna "A" el dato que quiero y me da el dato de la columna "B".

El problema es que de ahora me gustaría que me buscara de un rango de "BA:HM" y si el dato que busco si se encuentra que me de el mismo dato que estoy buscando

ejemplo;

& si no lo encuntra que me siga apareciendo eta leyenda:

este es mi codigo :

Option Explicit
'
Private Sub CommandButton1_Click()
'
'Declaramos las variables.
Dim Nombre As String
Dim Rango As Range
Dim NombreBuscado As Variant
Dim Titulo As String
'
Titulo = "EXCELeINFO"
'
'En caso de error...
On Error GoTo ErrorHandler
'
Set Rango = Sheets(1).Range("A1").CurrentRegion
'
'Validamos si el valor es numérico.
NombreBuscado = Me.TextBox1.Value
If IsNumeric(NombreBuscado) Then
    NombreBuscado = CDbl(NombreBuscado)
End If
'
'Asignamos a la variable Nombre el resultado del BUSCARV.
Nombre = Application.WorksheetFunction.VLookup(NombreBuscado, Rango, 2, 0)
'
'Pasamos el resultado al cuadro de texto (TextBox).
With Me
    .TextBox2.Value = Nombre
    .lblMensaje.Visible = False
End With
'
Exit Sub
'
'De haberse encontrado un error mostramos mensajes.
ErrorHandler:
If Err.Number = 1004 Then
    With Me
        .lblMensaje.Caption = "Email o teléfono no encontrado."
        .lblMensaje.Visible = True
    End With
Else
    MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, Titulo
End If
End Sub
'
Private Sub UserForm_Initialize()
'
'Ocultamos controles.
With Me
    .TextBox2.Enabled = False
    .lblMensaje.Visible = False
End With
'
End Sub

1 respuesta

Respuesta

Prueba lo siguiente:

Option Explicit
Private Sub CommandButton1_Click()
  Dim Valor As Variant
  Dim f As Range
  '
  'Validamos si el valor es numérico.
  Valor = Me.TextBox1.Value
  If IsNumeric(Valor) Then Valor = CDbl(Valor)
  Set f = Sheets(1).Range("BA:HM").Find(Valor, , xlValues, xlWhole)
  If Not f Is Nothing Then
    TextBox2.Value = Valor
    lblMensaje.Visible = False
  Else
    lblMensaje.Caption = "El valor " & Valor & " no fue encontrado."
    lblMensaje.Visible = True
  End If
End Sub
  '
Private Sub UserForm_Initialize()
  TextBox2.Enabled = False
  lblMensaje.Visible = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas