Excel - Extraer datos de una fila combinada con otra columna

   
Vista:

Extraer datos de una fila combinada con otra columna

Publicado por Dave (1 intervención) el 22/07/2014 22:06:03


Hola expertos

Esto es lo que necesitaria hacer de forma automatica y rapida ya que tengo 1000 filas.

Hay algunas filas que tienen varios valores, otras solo 1 pero siempre separados por /.

En el caso de haber varios valores necesito combinar el importe que aparece en la columna de al lado.

Me podeis ayudar?

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Extraer datos de una fila combinada con otra columna

Publicado por Cacho R mrocf@yahoo.com.ar (44 intervenciones) el 25/07/2014 00:10:21
Hola! Dave
Intenta con la siguiente macro y comenta tus impresiones, por favor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub ReDistribuir()
'------------------
'by Cacho Rodríguez
'------------------
Dim Rng As Range, C As Range, iCol%, iVec, iRow%
 
On Error Resume Next
Set Rng = Application.InputBox("Selecciona el rango de celdas a procesar", Type:=8)
If Rng Is Nothing Then Exit Sub
 
Application.ScreenUpdating = False
iCol = 3 + Rng.Column + Rng.Columns.Count
Cells(Rng.Row, iCol).CurrentRegion.Delete xlShiftUp
Cells(Rng.Row, iCol) = "Valores"
 
For Each C In Rng.Columns(1).Cells
  If InStr(C, "/") > 0 Then
    iVec = Application.Transpose(Split(Replace(C, " ", ""), "/"))
  Else
    ReDim iVec(1 To 1, 1 To 1)
    iVec(1, 1) = C
  End If
 
  iRow = UBound(iVec): ReDim Preserve iVec(1 To iRow, 1 To 2)
  iVec(1, 2) = C.Offset(, 1)
  Cells(Rows.Count, iCol).End(xlUp).Offset(1).Resize(iRow, 2) = iVec
  Cells(Rows.Count, 1 + iCol).End(xlUp).Resize(iRow).MergeCells = True
Next
 
DoEvents
Application.ScreenUpdating = True
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar