Excel - Como asignar los datos de varias celdas en una sola fila MACRO

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Como asignar los datos de varias celdas en una sola fila MACRO

Publicado por Victor (14 intervenciones) el 28/09/2018 07:42:24
Que tal estoy buscando que una macro que me agrupe los datos de manera que queden en 1 sola celda separados por 1 espacio
(el archivo 1 que adjunto tiene lo que llevo al momento, lo puedo hacer manual pero la verdad no se como hacerlo de alguna manera escrito en código),
A esto es a lo que quiero llegar, lo primero que hago es usar un TRIM para lo que esta en la celda "D" este separada por 1 espacio, pero no se como hacer para que se concatene todo en 1 sola celda y despues elimine todo aquello que no me sirve aqui adjunto para dar mas o menos una idea de lo que quiero lograr, si me pueden auxiliar se los agradeceria mucho !
(Hoja1 "Antes" y hoja2 "Despues" dentro del excel)
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Como asignar los datos de varias celdas en una sola fila MACRO

Publicado por Antoni Masana (2478 intervenciones) el 28/09/2018 08:33:17
¿Puede ser esto?

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
33
Sub Macro1()
    Dim Fila_Orig As Long, Orig As Worksheet, Dest As Worksheet, _
        Fila_Dest As Long
 
   Set Orig = Sheets("Hoja 1 - Antes")
   Set Dest = Sheets("Hoja 2 - Despues")
 
 
    For Fila_Orig = 2 To Orig.Range("A" & Rows.Count).End(xlUp).Row
        If Len(Trim(Orig.Cells(Fila_Orig, "A"))) > 0 Then
            Fila_Dest = Fila_Dest + 1
            Dest.Cells(Fila_Dest, "A") = Orig.Cells(Fila_Orig, "A")
            Dest.Cells(Fila_Dest, "B") = Orig.Cells(Fila_Orig, "B")
            Dest.Cells(Fila_Dest, "C") = Orig.Cells(Fila_Orig, "C")
            Dest.Cells(Fila_Dest, "D") = Referencia(Fila_Orig, Orig)
        Else
            Dest.Cells(Fila_Dest, "D") = Dest.Cells(Fila_Dest, "D") & " " & Referencia(Fila_Orig, Orig)
        End If
    Next
End Sub
 
Private Function Referencia(Fila_Orig, Orig) As String
    Dim Tabla() As String, Texto As String
 
    Texto = ""
    If Len(Orig.Cells(Fila_Orig, "D")) > 0 Then
        Tabla = Split(Orig.Cells(Fila_Orig, "D"), " ")
        For a = 0 To UBound(Tabla)
            If Len(Tabla(a)) > 0 Then Texto = Texto + Tabla(a) + " "
        Next
    Else
    Referencia = Left(Texto, Len(Texto) - 1)
End Function


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Como asignar los datos de varias celdas en una sola fila MACRO

Publicado por Victor (14 intervenciones) el 28/09/2018 16:40:52
Si comienza a escribir en la Hoja "Despues", pero me sale este error ya le intente de muchas formas y no logro solucionar el error
Alguna sugerencia (Imagen 1 e Imagen 2)
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