Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/05/2012, 21:07
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 9 meses
Puntos: 88
De acuerdo Respuesta: Como concatener datos de una columna en archivo excel que se repite

Hola! CURIBER. Sigue los siguientes pasos:

a) Haz click derecho en la solapa de la hoja en la que deseas el efecto y selecciona: Ver código;

b) En la ventana que se te abrirá, copia y pega lo siguiente:

Código PHP:
Sub Concatenar()
Dim Mat1Vec1Mat2
Dim Rng 
As RangeAs LongAs LongTC As LongAs Long

On Error Resume Next
Set Rng 
Application.InputBox("Selecciona el rango a procesar" vbLf "(por ejemplo: B2:D17)""Resumen por concatenación"Type:=8)
If 
Rng Is Nothing Then Exit Sub

Mat1 
Rng
UBound(Mat11)
ReDim Vec1(1 To Q1 To 1)
ReDim Mat2(1 To Q1 To 2)

For 
1 To Q
  j 
WorksheetFunction.Match(Mat1(i1), Vec10)
  If 
Err.Number 0 Then
    Err
.Clear
    TC 
TCTC
    Vec1
(j1) = Mat1(i1)
    
Mat2(j1) = Mat1(i2)
  
End If
  
Mat2(j2) = IIf(Mat2(j2) = Empty, ""Mat2(j2) & ";") & Mat1(i3)
Next i

On Error GoTo 0
With Rng
.Parent.Cells(Rng(1).RowRng(1).Column 10)
  .
Offset(, 1).Resize(100 Q3).Delete
  
.Offset(, 1).Resize(TC) = Vec1
  
.Offset(, 2).Resize(TC2) = Mat2
  
.Offset(, 1).CurrentRegion.Sort Key1:=.Offset(, 1), Order1:=xlAscendingHeader:=False
  
.Offset(, 1).Resize(Q3).Columns.AutoFit
  Application
.Goto .Offset(, -2), True
End With
End Sub 
c) Cierra esa ventana del ambiente Visual Basic for Application en el que te encuentras, y retorna al Excel.

d) Ejecuta la macro recién incorporada: Concatenar.

e) La macro te solicita que selecciones el rango de tres columnas con los datos a procesar. Al cabo de unos instantes: ¡obtendrás lo pedido!

¿Te sirve la idea?...
Saludos, Cacho R.

Última edición por mrocf; 25/05/2012 a las 21:23