Macro pegar en la primera columna vacía
Macroblem
-
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
cs_Le Pivert Mensajes publicados 8437 Estado Colaborador -
Hola,
Hola tengo dos hojas excel. una hoja (DONNEES) que contiene datos, una segunda hoja (Stockage donnees) para recuperar los datos de la 1ª hoja y conservar. los datos de la 1ª hoja varían en función de las muestras de ahí la utilidad de recuperar los datos cuando sea necesario.
quiero una macro para copiar en la primera hoja y pegar en la segunda hoja (hasta aquí todo va bien). El problema es que debo pegar los datos a partir de la primera columna vacía (en la fila E16) de la segunda hoja.
intenté esta macro y muchas otras pero no logro. Ayúdame por favor.
cordialement
Sub Macro1()
'
' Macro1 Macro
'
Dim emptycolumn As Long
Sheets("DONNEES").Select
Range("A53").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy Cells(16, Columns.Count).End(xlToRight).Offset(, 1)
End Sub
Hola tengo dos hojas excel. una hoja (DONNEES) que contiene datos, una segunda hoja (Stockage donnees) para recuperar los datos de la 1ª hoja y conservar. los datos de la 1ª hoja varían en función de las muestras de ahí la utilidad de recuperar los datos cuando sea necesario.
quiero una macro para copiar en la primera hoja y pegar en la segunda hoja (hasta aquí todo va bien). El problema es que debo pegar los datos a partir de la primera columna vacía (en la fila E16) de la segunda hoja.
intenté esta macro y muchas otras pero no logro. Ayúdame por favor.
cordialement
Sub Macro1()
'
' Macro1 Macro
'
Dim emptycolumn As Long
Sheets("DONNEES").Select
Range("A53").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy Cells(16, Columns.Count).End(xlToRight).Offset(, 1)
End Sub
2 respuestas
-
Hola,
ver la última columna utilizada:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
y para hacer una copia de un rango:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy?irgwc=1&OCID=AID2000142_aff_7809_1246483&tduid=%28ir__6kqse6c239kfqwktkk0sohz3zv2xszudwxhno6pr00%29%287809%29%281246483%29%28%28ccf498c07423a97c10e599b3ab6caa6f%29%28152407%29%281910362%29%28v03040001208613671d3e7d824c2ca7cd619fd387bf61%29%28%29%29%28ccf498c07423a97c10e599b3ab6caa6f%29&irclickid=_6kqse6c239kfqwktkk0sohz3zv2xszudwxhno6pr00
Voilà
--
@+ Le Pivert -
Gracias por su respuesta.
Todavía no consigo hacerlo; sé buscar pero no sé hacer el código que me permita pegar en la última columna.
¿Sería posible que me dé un ejemplo, por favor?
¡Gracias de antemano!-
debo pegar los datos a partir de la primera columna vacía (en la fila E16)
hay una incoherencia, ¿es la celda E16 o la fila 16 de la primera columna vacía?
me inclino por la segunda. Por lo tanto, esta es la macro:
habrá que adaptar el nombre de las hojas y el rango de copia
Option Explicit Sub test() Dim DerniereColonneUtilisee As Integer DerniereColonneUtilisee = Worksheets("Feuil2").Cells(1, Columns.Count).End(xlToLeft).Column + 1 'donde X es el número de la fila Worksheets("Feuil1").Range("A1:D20").Copy _ Destination:=Worksheets("Feuil2").Cells(16, DerniereColonneUtilisee) End Sub
este código estaba en los 2 enlaces!- Muchas gracias por su respuesta.
He copiado y pegado el código, aquel que está subrayado y en cursiva no funciona, no sé por qué.
sabiendo que no quiero pegar solo una banda definida, uso "Range(Selection, Selection.End(xlToRight)).Select"
y Range(Selection, Selection.End(xlDown)).Select" para tener en cuenta las variaciones de la banda. ¿Sería posible ayudarme con todo por favor? No lo consigo de verdad. encore gracias por todo.
19.ccm2.net/qxJdZLfWYPuEYH8Wf699lOxccmw=/b1f16206e5d14184bd7564b620dd3a16/tmp/Capture.PNG|fancy]
Sub Macro1()
'
' Macro1 Macro
Dim DerniereColonneUtilisee As Integer
DerniereColonneUtilisee = Worksheets("Stockage donnees").Cells(1, Columns.Count).End(x1ToLeft).Column + 1 'où X es el número de la fila
Sheets("DONNEES").Select
Range("A53").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy Destination:=Worksheets("stockage donnees").Cells(16, DerniereColonneUtilisee)
End Sub
-