Jump to content

Realizar buscar en cualquier hoja en formulario (Combobox) + Botón


Go to solution Solved by JSDJSD,

Recommended Posts

Hola! Amigos del foro quisiera solicitarles el apoyo para resolver lo siguiente: Lo que pretendo obtener es en un form mediante la selección de un combobox, buscar el valor en todas las hojas (realizar la búsqueda con el botón) y se devuelva un resultado mediante un msgbox mostrando en cual(es) hoja(s) se encontraron el valor. En el tab FindError del formulario es donde deseo realizar el buscador, algo parecido a la siguiente macro:

Sub buscarEnTodasHojas()
    Dim hj As Worksheet
    Dim contExiste As Integer
    Dim busqueda As Range
    Dim res, consulta As String
    
    res = ""
    consulta = Sheets("EEE").Cells(7, 4)
    contExiste = 0
    
    For Each hj In ThisWorkbook.Worksheets
        With hj.UsedRange
            
            Set busqueda = .Cells.Find(what:=consulta)
            
            If Not busqueda Is Nothing Then
                If hj.Name <> "EEE" Then
                    res = res & vbCrLf & hj.Name
                    contExiste = 1
                    Set busqueda = .FindNext(busqueda)
                End If
            End If
        End With
    Next
    
    If contExiste = 0 Then
        MsgBox ("Dato no existe en ninguna hoja")
    Else
        res = "Dato encontrado en las hojas" & vbCrLf & res
        MsgBox res
    End If
    
End Sub

Lo segundo que deseo consultar si es posible aplicar una resta de fecha en textboxs, en el mismo formulario en el tab Date tengo lo siguiente: textbox1 (fechafin) y en Textbox2 ( fecha actual), quisiera saber si es posible con estos datos obtener como resultado en otro TextBox (Resultado  [fechafin-fecha actual/365]) .

 Agradezco cualquier ayuda.

 Saludos

JB

Consulta buscar frm.xlsm

Link to comment
Share on other sites

Hola! gracias @Antoni & @JSDJSD adjunto un archivo y un video para tratar de explicarme mejor, en el fichero tengo la hoja (JBN) en la cual si introduces un valor en la celda D7 y presionas el botón, te devuelve en cual(es) hojas se encontró el valor, deseo hacer lo mismo pero en un formulario, en donde seleccionaría en el combobox el valor y le doy buscar.

Espero haberme explicado bien.

 

consultaforo.xlsm

Link to comment
Share on other sites

Hace 5 minutos , JSDJSD dijo:

En principio no tendrías ningún problema cambia esta línea, no lo he probado si no funciona mañana te lo miro.

Consulta = Sheets("JBN").Cells(7, 4)

por

Consulta = Combobox1

@JSDJSDEra eso, saludos!

Link to comment
Share on other sites

Hace 11 horas, Antoni dijo:

Coincido con JSDJSD, no se entiende que quieres hacer.

En cuanto a la segunda pregunta, tan fácil como:

Resultado = (CDatel(FechaFin )- Date) / 365

 

@Antonitomando tú sugerencia algo parece no darme el resultado correcto, podrías darle una revisada.

2Captura.PNG

Consulta fecha.xlsm

Link to comment
Share on other sites

Hace 6 horas, Jose BN dijo:

@Antonitomando tú sugerencia algo parece no darme el resultado correcto, podrías darle una revisada.

2Captura.PNG

Consulta fecha.xlsm 335.64 kB · 0 descargas

@Antoni lo termine de resolver con la ayuda de @avalencia:

UserForm1.TextBox3 = (CDate(UserForm1.TextBox1) - CDate(UserForm1.TextBox2)) / 365

Gracias por todo.

 

Saludos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Privacy Policy