Saltar al contenido

Buscar un valor en hoja excel y devolver todas las filas con este valor


Recommended Posts

publicado

Hola, tengo un userform con 2 combobox en el primero cargo un turno y el segundo se llena con los nombres y rut según el turno, lo que quiero ahora es que al seleccionar el nombre se llene un listbox con los datos de la hoja “Materiales” según el rut , el rut se puede repetir muchas veces en el listado y en el listbox debieran aparecer todos los registros

Adjunto lo que tengo hasta ahora

Slds.-

Macros.rar

publicado

Saludos.

Una pequeña macro, espero te sirva


Private Sub Rut_Change()
'declaramos las variables a utilizar
Dim fm, td As Integer
Dim datos As String
Application.ScreenUpdating = False
'trabajamos en la hoja materiales
With Sheets("Materiales")
'ultima celda con datos
fm = .Range("A65536").End(xlUp).Row
'filtramos en base al rut seleccionado
With .Range("$A$1:$A" & fm)
.AutoFilter Field:=1, Criteria1:=Rut.Value
'determinamos si hay datos visibles
td = .SpecialCells(xlCellTypeVisible).Count
End With
'condicionamos si hay datos o no el que
'continue ejecutandose la macro
If td > 1 Then
'si hay datos creamos una hoja temporal
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Temporal"
Else
'si no hay datos avisamos quitamos filtro limpiamos list y salimos
.Range("A1").AutoFilter
Lista1.RowSource = datos
MsgBox "No hay datos que mostrar"
Exit Sub
End If
'copiamos los datos a la hoja temporal
.Range("$A$1:$N" & fm).SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheets("Temporal").Range("A1")
'determinamos el rango a mostrar en el list
datos = Sheets("Temporal").Range("A1").CurrentRegion.Address
'eliminamos el filtro de la hoja materiales
.Range("A1").AutoFilter
End With
'preparamos y cargamos el list
With Lista1
.ColumnCount = 13
.RowSource = datos
End With
'eliminamos la hoja temporal
Application.DisplayAlerts = False
Sheets("Temporal").Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
[/HTML]

Atte.

joshua

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.