Saltar al contenido

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


Jose BN

Recommended Posts

publicado

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

publicado

Coincido con JSDJSD, no se entiende que quieres hacer.

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

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

 

publicado

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

publicado

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

publicado
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!

publicado
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

publicado
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

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.