Me gustaría saber cómo puedo corregir un código de VBA para que busque en un archivo o base y no en una hoja del mismo archivo.
Lo que quiero es que busque en una base llamada "Base_de_datos.xlsx" por poner un ejemplo. Ya que tengo varios archivos y quiero que todos busquen en la misma base.
Los datos son los siguientes:
Private Sub CommandButton1_Click()
End
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim v As Range
With Sheets("Base de Datos")
Set v = .Range("B2:B" & Sheets("Base de Datos").Range("B1").End(xlDown).Row) _
.Find(ListBox1, lookat:=xlWhole)
If v Is Nothing Then Exit Sub
[N12] = v
[N14] = .Cells(v.Row, "A")
[N16] = .Cells(v.Row, "C")
[O16] = .Cells(v.Row, "D")
[N18] = .Cells(v.Row, "E")
[N20] = .Cells(v.Row, "F")
End With
End Sub
Private Sub TextBox1_Change()
ListBox1.Clear
For Each cel In Sheets("Base de Datos").Range("B2:B" & Sheets("Base de Datos").Range("B1").End(xlDown).Row)
If InStr(UCase(cel), UCase(TextBox1)) Then ListBox1.AddItem cel
Next
End Sub
Y lo que no sé es donde tengo que cambiar al código.
Muchas gracias por su apoyo.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Muy buen día tengan todos.
Me gustaría saber cómo puedo corregir un código de VBA para que busque en un archivo o base y no en una hoja del mismo archivo.
Lo que quiero es que busque en una base llamada "Base_de_datos.xlsx" por poner un ejemplo. Ya que tengo varios archivos y quiero que todos busquen en la misma base.
Los datos son los siguientes:
Private Sub CommandButton1_Click()
End
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim v As Range
With Sheets("Base de Datos")
Set v = .Range("B2:B" & Sheets("Base de Datos").Range("B1").End(xlDown).Row) _
.Find(ListBox1, lookat:=xlWhole)
If v Is Nothing Then Exit Sub
[N12] = v
[N14] = .Cells(v.Row, "A")
[N16] = .Cells(v.Row, "C")
[O16] = .Cells(v.Row, "D")
[N18] = .Cells(v.Row, "E")
[N20] = .Cells(v.Row, "F")
End With
End Sub
Private Sub TextBox1_Change()
ListBox1.Clear
For Each cel In Sheets("Base de Datos").Range("B2:B" & Sheets("Base de Datos").Range("B1").End(xlDown).Row)
If InStr(UCase(cel), UCase(TextBox1)) Then ListBox1.AddItem cel
Next
End Sub
Y lo que no sé es donde tengo que cambiar al código.
Muchas gracias por su apoyo.