Jump to content

Filtrar datos de otro libro de excel que se refleje en un Combobox


Recommended Posts

Buenas tardes comunidad,

Actualmente tengo este problema que he estado desarrollado en un formulario desde varios aporte que he visto, pero que no he podido solucionar este caso, necesito filtrar la informacion de dos datos especificos que se encuentran en otro Libro excel y traer uno, 

Ejemplo.

Código de despacho - Descripción  - Lote

001                                      Zanahorias          9121

001                                       Manzana             9121

002                                      Peras                      9121

003                                      Cebollas               8090

003                                      Tomates                8090

004                                       Patatas                 7081

005                                      Limones                 9121

Necesito que se me refleje el Código de despacho en el combo box el 001, 002 y 005 pero filtrado con un lote en especifico el cual es el 9121 y ubicar el Codigo de despacho en una casilla especifica en mi excel

 

Dejo codigo que estado desarrollando, pero solo me refleja los codigos de despacho de todos los lotes.

 

Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton2_Click()
Dim HojaDestino As Range
Hoja1.Range("F5") = ComboBox1
Unload Me
End Sub


Private Sub UserForm_Initialize()
Dim sd As New Collection
Dim celda As Range
Dim dato
Dim r As String
Dim uf As Integer
Dim Lote As String
Lote = "9121"

Application.ScreenUpdating = False
On Error Resume Next
ComboBox1.Clear
Dim myfile As String
myfile = Application.GetOpenFilename("Archivos Excel (*.xl*), *.xl*")
Workbooks.Open Filename:=myfile, UpdateLinks:=0
Sheets(1).Range("O2").AutoFilter Field:=15, Criteria1:=Lote
Sheets(1).Range("J2").Select
uf = Range("J" & Rows.Count).End(xlUp).Row
r = "J2:J" & uf
For Each celda In Range(r)
sd.Add celda.Value, CStr(celda.Value)
Next celda
For Each dato In sd
ComboBox1.AddItem dato
Next dato
Application.ScreenUpdating = True

End Sub

Link to comment
Share on other sites

  • Giancarloch changed the title to Filtrar datos de otro libro de excel que se refleje en un Combobox

@JasallBcn muchas gracias nuevamente, ejecute el comando como lo dices y todo salio a la perfeccion, agradezco por dedicar tu tiempo.

Tengo otra duda, si deseo cerrar el archivo excel que abri en este codigo, como lo deberia hacer apenas seleccione el codigo del despacho?

Muchas gracias,

Saludos

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • 72 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      170
    • Comments
      89
    • Reviews
      26

  • Crear macros Excel

  • Posts

    • Buenas noches profesor Antoni y demás miembros del foro. Tanto con la solución suya como la del profesor HDD resuelvo el problema y está es una tercera variante que nunca viene mal, porque todo lo que se aprende no pesa ni estorba Gracias por el enlace, en cuanto tenga el chance lo reviso. Necesito una última petición a ustedes. He tratado de convertir los números en texto a números y no he podido lograrlo. Lo hice con la función Sustituir por si hubiera algunos espacios de más, con el Texto en columna, lo multiplique x 1, le sumé +0, lo trate con un ciclo For Each, creando una variable Celda de tipo Range y un condicional If/End if y nada. Por favor, si fuera tan amables de sugerirme algo que no haya probado. Agradecido como siempre y mis respetos a ustedes. Pino
    • Utilizando la función  WorksheetFunction.Clean se eliminan la mayoría de caracteres no imprimibles.   Eliminar caracteres no imprimibles
    • Buenas tardes reiteradas. Que bien que se sumó el profesor Antoni a la solución. Qué provilegio, JSD y Antoni, no podría estar en mejores manos. Gracias a ambos por su respuestas, pero tengo una duda más. En el caso de Antoni manifiesta que el caracter es el 001 del ASCII, pero pregunto, si fuera otro caracter este códiogo me serviría también o hay que modificarle algo? Mis respetos a todos los miembros del Foro y en especial a Antoni y JSD. Agradecido. Pino
    • Hola Antoni, te adelantaste, bueno dejo lo mismo de otra manera Sub EliminarCaracteres(): Application.ScreenUpdating = False Dim rango As Range Dim datos As Variant Dim i As Long, j As Long With Hoja2 '>>>>> pon la hoja donde quieras trabajar Set rango = .Range("A4:M" & .Cells(.Rows.Count, "A").End(xlUp).Row) datos = rango.Value For i = 1 To UBound(datos, 1) For j = 1 To UBound(datos, 2) datos(i, j) = Application.WorksheetFunction.Clean _ (datos(i, j)) Next j Next i rango.Value = datos End With End Sub  
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy