From que busque información de varias hojas

Para Dante:

Hola Dante disculpa tantas molestias ya me da pena preguntarte tantas veces, estas serian las ultimas dudas que tengo :D.

Mira tengo un from que se llama búsqueda este from me busca solo información de una hoja y necesito que me busque en varias hojas dos columnas que para todas las hojas es la misma las columna I, QUE hacia abajo acá te dejo el código

Private Sub UserForm_Initialize()
On Error Resume Next
ComboBox1.List = Array("DESCRIPCION DEL PRODUCTO", "MONTO")
End Sub

Private Sub buscar_Change()

On Error Resume Next
buscar = UCase(buscar)
Select Case ComboBox1.ListIndex
Case 0: col = 9
Case 1: col = 11
End Select

With Sheets("ENERO")
If ComboBox1 <> "" Then
If buscar <> "" Then
lista.Clear
X = 0: i = 1
nxt: rw = .Range(.Cells(i, col), .Cells(1000000, col)).Find(buscar, lookat:=xlPart).Row
If rw = i Then Exit Sub
lista.AddItem
lista.List(X, 0) = .Cells(rw, col)
lista.List(X, 1) = rw
X = X + 1
i = rw
GoTo nxt
Else
lista.Clear
End If
Else
buscar = ""
lista.Clear
End If
End With
End Sub

Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton2_Click()
Unload Me
frm_entrada_salida.Show
End Sub

Private Sub lista_Change()
On Error Resume Next
Dim nom, ap, am As String
With frm_buscar
file = lista.Column(1)
.ComboBox2 = Sheets("ENERO").Range("G" & file).Value
.ComboBox3 = Sheets("ENERO").Range("H" & file).Value
.TextBox4 = Sheets("ENERO").Range("I" & file).Value
.ComboBox4 = Sheets("ENERO").Range("J" & file).Value
.TextBox5 = Sheets("ENERO").Range("K" & file).Value
End With
End Sub

Respuesta
2

No te preocupes, con gusto reviso todas tus inquietudes.

Envíame tu archivo para revisarlo.

Te anexo el código actualizado para buscar en todas las hojas

Private Sub CommandButton3_Click()
'   Por Dante Amor
'   Buscar en todas las hojas
'
    If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
        MsgBox "Debes elegir buscar por"
        ComboBox1.SetFocus
        Exit Sub
    End If
    If buscar.Value = "" Then
        MsgBox "Debes escribir un valor a buscar"
        buscar.SetFocus
        Exit Sub
    End If
    '
    If ComboBox1.ListIndex = 0 Then col = "I" Else col = "K"
    '
    Dim hojas As New Collection
    For i = 1 To 12
        hojas.Add UCase(Format(DateSerial(Year(Date), i, 1), "mmmm"))
    Next
    lista.Clear
    For i = 1 To hojas.Count
        Set h = Sheets(hojas(i))
        Set b = h.Columns(col).Find(buscar.Value, lookat:=xlPart)
        If Not b Is Nothing Then
            lista.AddItem h.Cells(b.Row, col)
            lista.List(lista.ListCount - 1, 1) = h.Name
            lista.List(lista.ListCount - 1, 2) = b.Row
        Else
            MsgBox "No existen coincidencias"
        End If
    Next
End Sub
'
Private Sub TextBox4_Change()
    TextBox4 = UCase(TextBox4)
End Sub
'
Private Sub UserForm_Initialize()
    ComboBox1.List = Array("DESCRIPCION DEL PRODUCTO", "MONTO")
End Sub
Private Sub CommandButton2_Click()
    Unload Me
    frm_entrada_salida.Show
End Sub

sal u dos

¡Gracias! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas