Forums Últimos mensajes - Powered by IBM
 

Datos en una misma Fila

25/02/2009 - 23:47 por Adrian V. | Informe spam
Buenas tardes a todos, espero alguien pueda ayudarme a resolver un problema
que tengo y es el siguiente:

Tengo un archivo de excel (2002) con datos de contactos en varias columnas
que se repiten en varias filas, en total son al rededor 8,000 el motivo por
el cual se repiten es debido a que existen datos distintos por cada contacto,
ejemplo:

A(Nombre del contacto) B (Teléfono contacto)
Contacto 1 12345678
Contacto 1 23456789
Contacto 1 34567890
Contacto 2 98765432
Contacto 2 87654321

En este momento sólo me interesa a traves de alguna macro, que en otra hoja
sólo queden datos únicos del contacto con sus teléfonos, es decir:

A(Nombre del contacto) B (Tel 1) C (Tel 2) D (Tel 3)
Contacto 1 12345678 23456789 34567890
Contacto 2 98765432 87654321

Todos los contactos tienen al menos un teléfono, ojala me puedan ayudar
Gracias
 

Leer las respuestas

#1 Héctor Miguel
26/02/2009 - 00:48 | Informe spam
hola, Adrian !

prueba con una macro +/- como la siguiente, ejecutada desde la hoja con tu listado original
(agrega una hoja con los datos en su nuevo arreglo, pero te dejo de tarea los titulos para las columnas de telefonos)

Sub Unificar_contactos()
Application.ScreenUpdating = False
Dim Inicio As Long, nCols As Byte, nFila As Integer
With ActiveSheet
Worksheets.Add(After:=Worksheets(.Index)).Name = "Conjunto"
.Range(.[a1], .[a65536].End(xlUp)).AdvancedFilter _
Action:=xlFilterCopy, CopyToRange:=[a1], Unique:=True
[a:a].Sort Key1:=[a2], Order1:=xlAscending, Header:=True
For nFila = 2 To [a65536].End(xlUp).Row
Inicio = Application.Match(Range("a" & nFila), .Range("a:a"), 0)
nCols = Application.CountIf(.Range("a:a"), Range("a" & nFila))
If nCols > 1 Then
Range("b" & nFila).Resize(, nCols).Value = _
Application.Transpose(.Range("b" & Inicio).Resize(nCols).Value)
Else: Range("b" & nFila) = .Range("b" & Inicio)
End If
Next
End With
End Sub

saludos,
hector.

__ OP __
... archivo de excel... con datos de contactos en varias columnas que se repiten en varias filas
... son al rededor 8,000... se repiten... debido a que existen datos distintos por cada contacto ejemplo:
A(Nombre del contacto) B (Telefono contacto)
Contacto 1 12345678
Contacto 1 23456789
Contacto 1 34567890
Contacto 2 98765432
Contacto 2 87654321

En este momento solo me interesa a traves de alguna macro
que en otra hoja solo queden datos unicos del contacto con sus telefonos, es decir:

A(Nombre del contacto) B (Tel 1) C (Tel 2) D (Tel 3)
Contacto 1 12345678 23456789 34567890
Contacto 2 98765432 87654321

Todos los contactos tienen al menos un telefono ...

Preguntas similares