Excel - Excel - macro copiar hacia abajo

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 10 puestos en Excel (en relación al último mes)
Gráfica de Excel

Excel - macro copiar hacia abajo

Publicado por Fernanda (2 intervenciones) el 26/09/2019 19:22:20
Hola, debo realizar un base, que pueda vaciar los datos de una pestaña a otra.
La idea es que se llenen datos en una pestaña, y se puedan vaciar en otra como si fuesen datos históricos.
El código que llevo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Macro7()
Dim rng As Range
Set rng = Range("B4:G4")
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
 
Set rng = Sheets("Acumulación histórica").Range("A2" & Cells.Rows.Count).End(x1Up)
If rng.Value <> "" Then
   Set rng = rng.Offset(1, 0)
End If
 
Selection.Copy rng
End Sub

No sé nada de programación jajaja, así que todo lo he construido con internet.
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 Alfredo Lara
Val: 363
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Excel - macro copiar hacia abajo

Publicado por Alfredo Lara (120 intervenciones) el 26/09/2019 19:36:53
Saludos Fernanda

En tu código veo varios errores, es normal cuando empiezas, a mi me pasaban peores mira las notas:

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
Sub Macro7()
   '
   Dim rng As Range
   '
   Set rng = Range("B4:G4")
   '
   Selection.Copy   '¿de que hoja los copia?, ¿es la correcta?
   '
   ' aqui lo estas pegando en la misma hoja, antes debes seleccionar la hoja destino
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                           :=False, Transpose:=False
   '
   'Aqui liberas el portapapeles
   Application.CutCopyMode = False
   '
   Set rng = Sheets("Acumulación histórica").Range("A2" & Cells.Rows.Count).End(x1Up)
   '
   If rng.Value <> "" Then
      Set rng = rng.Offset(1, 0)
   End If
   '
   'aqui no has seleccionado nada a copiar, recuerda que borraste el portapepeles lineas arriba
   Selection.Copy rng
   '
End Sub

Seria mejor si subes un archivo con algunos datos de prueba e indicando que deseas hacer

Saludos
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
sin imagen de perfil
Val: 3
Ha aumentado su posición en 10 puestos en Excel (en relación al último mes)
Gráfica de Excel

Excel - macro copiar hacia abajo

Publicado por Fernanda (2 intervenciones) el 26/09/2019 19:44:23
Hola Alfredo, si me mandas un correo te lo envío por ahí el archivo de prueba
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