Saltar al contenido

Duda: macro para copiar filas de 1sheet a otra pero dejando 2 huecos entre celdas ocupadas


perthelysea

Recommended Posts

publicado

El caso es que tengo en la Sheet3 varias filas con un número variable de columnas ocupadas:

Ej:

............ColumA.......ColumB.......ColumC.........ColumD

Fila 1:....Juan..........María............Diego............Rubén

Fila 2:....Pepe..........Antonio........Jose

Fila 3:....Encarna

Quiero pegar todas esas filas en la Sheet2, pero no como están, sino dejando dos columnas vacías entre celdas con nombres, de la siguiente manera:

Ej:

..........ColumnA.......B.......C..........ColumD.......E.......F........ColumG.......H.......I........ColumJ

Fila 1:....Juan....................................María...............................Diego............................Rubén

Fila 2:....Pepe...................................Antonio.............................Jose

Fila 3:....Encarna

Lo que me gustaría es una Macro que me copie la lista de filas completa de la Sheet3 y que se peguen en la Sheet2 pero de la forma que he expuesto.

Es mi primera pregunta en un foro de este tipo, no sé sí me he sabido explicar bien!

Espero vuestra ayuda!

Un saludo y muchas gracias

publicado

.

Selecciona el rango de celdas a copiar, ejecuta la macro, y te aparecerán en Sheet3 como quieres.

Si no es eso, sube un archivo con un ejemplo.

Sub Copiar()
For Each celda In Selection
r = Selection.Row
c = Selection.Column
Sheets("Sheet3").Cells(celda.Row - r + 1, (celda.Column - c) * 3 + 1) = celda.Value
Next
End Sub
[/CODE]

.

publicado

Siento no haberme explicado bien. El caso es que tengo en la Sheet3 varias filas (20,21,22..) con un número variable de columnas ocupadas (A,B,C...):

Ej:

............ ColumA.......ColumB.......ColumC.........ColumD

Fila 20:....Juan..........María............Diego............Rubén

Fila 21:....Pepe..........Antonio........Jose

Fila 22:....Encarna

Quiero pegar todas esas filas en la Sheet2, pero no como están, sino dejando dos columnas vacías entre celdas con nombres, empezando por la columna I en fila 7, de la siguiente manera:

Ej:

......... ColumnI......J.......K......ColumL.......M.......N......ColumO......P.....Q......ColumR

Fila 7:...Juan.............................María.............................Diego.......................... Rubén

Fila 8:...Pepe............................Antonio...........................Jose

Fila 9:..Encarna

Lo que me gustaría es una Macro que me copie la lista de filas completa de la Sheet3 y que se peguen en la Sheet2 pero de la forma que he expuesto.

Un saludo y muchas gracias

publicado

Saludos @perthelysea, @Macro Antonio

Será algo así

Sub Copia()
Sheets("Hoja3").Range("A1", Range("A60000").End(xlUp)).Copy Sheets("Hoja2").Range("A1")
Sheets("Hoja3").Range("B1", Range("B60000").End(xlUp)).Copy Sheets("Hoja2").Range("D1")
Sheets("Hoja3").Range("C1", Range("C60000").End(xlUp)).Copy Sheets("Hoja2").Range("G1")
Sheets("Hoja3").Range("D1", Range("D60000").End(xlUp)).Copy Sheets("Hoja2").Range("J1")
End Sub[/CODE]

publicado

Hola a todos!

Coloca este código en un módulo, y ejecútalo:

Sub CopiaDatos()
Dim i As Long
With Sheets("Hoja3").Range("A1").CurrentRegion
For i = 1 To .Columns.Count
.Columns(i).Copy Sheets("Hoja2").Range("I1").Offset(, 3 * (i - 1))
Next i
End With
End Sub
[/CODE]

Comentas!

Espero haberte ayudado, Dios te bendiga!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    3    1

  • Crear macros Excel

  • Mensajes

    • Prueba ahora  RCI PRUEBA2.xlsm
    • Saludos @JSDJSD espero estes bien agradecido como siempre por sus oportunas y acertadas respuestas Se solvento lo de la copia de datos del ListBox1 al TextBox3, sin embargo, ahora cuando se guardan los datos se activa el MsgBox "Datos Incompletos: Seleccione un Código", cosa que no sucedía en el archivo original: Private Sub ListBox1_Click(): On Error Resume Next 'Alertas del Sistema If ComboBox1 = "" Then ListBox1 = Enabled MsgBox "Datos Incompletos: Seleccione un Código", vbExclamation Exit Sub End If End sub Dicho MsgBox debe de activarse única y exclusivamente cuando se intente seleccionar un caso en el ListBox1 y el ComboBox1 = "" y no debería activarse cuando se guarde la información, solventando este único y último detalle se podría dar por cerrada esta consulta.
    • Saludos @JSDJSD espero estes bien gracias por la solución que propuso para mi pregunta.  Tome el archivo con sus correcciones y al descargarlo verifique no posee una funcionalidad que si estaba en el archivo original de mi pregunta en concreto tiene que ver con la información que debería mostrarse en el TextBox2  de allí que:  Cuando selecciono el código y hago click sobre en el Listbox1  los datos se copian correctamente en los TextBox3 y TextBox5 pero en el TextBox2 no se copia ningun dato revisando me pude percatar que con la macros que agrego no se muestran datos en el TextBox2 a partir de la Columna "G" y cuando se suspende el funcionamiento de la Macro ComboBox1 si se muestran correctamente todos los datos en los TextBox2, 3 y 5 pero en el Listbox1 no se muestran exclusivamente los datos correspondientes al código que se selecciona en el ComboBox1,  mientras que si se suspende el funcionamiento de la Macro BuscarYCargarEnListBox los datos se mostrados en el Listbox1 corresponden exclusivamente al código que se selecciona en el ComboBox1 dichos datos se copian correctamente en los TextBox3 y TextBox5 pero en el TextBox2 no se copia ningun dato
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.