Buscarv diferentes valores para un dato único

Hola expertos, recurro a ustedes con el fin de que me puedan ayudar con la siguiente pregunta... Tengo una hoja en excel la cual contiene una base de datos con la que debo filtrar los registros únicos y después manualmente asociar sus respectivos valores...
Lo que me gustaría realizar y que he intentado con funciones como Buscarv, BDextraer y Coincidir, es que me busque un único valor y que hacia la izquierda me extraiga los diferentes valores para ese registro...
Ejemplo Base Datos:
Rut Nombre Proveedor Documento
0011111111-1 HERNÁN GARRIDO 1394
0011111111-1 HERNÁN GARRIDO 1395
0022222222-2 MAQUI LTDA 1396
0033333333-3 RUBEN VEGA 17221
0033333333-3 RUBEN VEGA 17222
0033333333-3 RUBEN VEGA 17223

Ejemplo de lo que busco como resultado de pregunta:
Rut Nombre Proveedor Documento
0011111111-1 HERNÁN GARRIDO 1394-1395
0022222222-2 MAQUI LTDA 1396
0033333333-3 RUBEN VEGA 17221-17222-17223
Esperando haber sido bien claro con mi pregunta y me ustedes me puedan ayudar...
Gracias!

1 Respuesta

Respuesta
1
Anótate esta macro:
Sub Copia()
Dim veces As Integer
Dim rut As String
Dim nombre As String
Dim documento As String
Dim documentos As String
Dim direccion As String
Dim cantidad As Integer
Range("A2").Select
cantidad = 0
Do While Not IsEmpty(ActiveCell)
rut = ActiveCell
nombre = ActiveCell.Offset(0, 1)
veces = 0
documentos = ""
Do While ActiveCell = rut
veces = veces + 1
documento = ActiveCell.Offset(0, 2)
If veces = 1 Then
documentos = documentos & documento
Else
documentos = documentos & "-" & documento
End If
ActiveCell.Offset(1, 0).Select
direccion = ActiveCell.Address
Loop
Range("F1").Select
cantidad = cantidad + 1
If cantidad = 1 Then
ActiveCell = "Rut"
ActiveCell.Offset(0, 1) = "Nombre Proveedor"
ActiveCell.Offset(0, 2) = "Documentos"
End If
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = rut
ActiveCell.Offset(0, 1) = nombre
ActiveCell.Offset(0, 2) = documentos
Range(direccion).Select
Loop
End Sub

En esta macro, la lista filtrada y ordenada por rut debe estar ubicada a partir de la celda A1 y el resultado lo va a ubicar a partir de la celda F1.
Un saludo
Juan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas