Visual Basic - Copiar y pegar filas

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Rebe Diaz (6 intervenciones) el 01/11/2020 19:20:24
Buenas tardes,
Tengo una macro que solo me sirve para filas especificas, necesito que la misma copie la fila seleccionada y la pegue en la siguiente sin estar atada a una fila predefinida:

1
2
3
4
5
6
7
8
Sub CopiarEspecial7()
Rows("7:7").Select
    Selection.Copy
Rows("8:8").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
End Sub

Gracias por su ayuda
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: 1.295
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Antoni Masana (457 intervenciones) el 02/11/2020 19:22:37
Si seleccionas la fila y ejecutas la macro la primera instrucción te sobra:

1
2
3
4
5
6
7
8
9
Sub CopiarEspecial7()
    Dim lastrow As Integer
    Selection.Copy
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    Rows(lastrow & ":" & lastrow).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
End Sub

Y con esta línea Excel te busca la primera fila vacía.

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: 17
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Rebe (6 intervenciones) el 02/11/2020 20:38:27
Muchas gracias!
Probé la macro y en efecto aplica el formato a la primera fila vacía. Lo que necesito es que si estoy en la fila 6 aplique el formato a la fila 7, luego si estoy en la fila 7 aplique el formato a la fila 8 dependiendo, siempre sería a la fila posterior consecutiva a la que estoy posicionada.

Si me puede ayudar con eso lo agradezco mucho!
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
Imágen de perfil de Antoni Masana
Val: 1.295
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Antoni Masana (457 intervenciones) el 03/11/2020 23:09:40
No había entendido la explicación.

1
2
3
4
5
6
7
Sub CopiarEspecial7()
    Selection.Copy
    Rows(ActiveCell.Row + 1 & ":" & ActiveCell.Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
End Sub

o

1
2
3
4
5
6
7
8
Sub CopiarEspecial7()
    Rows(ActiveCell.Row & ":" & ActiveCell.Row).Select
    Selection.Copy
    Rows(ActiveCell.Row + 1 & ":" & ActiveCell.Row + 1).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
End Sub

Ahora si.

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: 17
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Rebe (6 intervenciones) el 04/11/2020 14:27:09
Muchas gracias! Funcionó perfecto!
Le agradezco mucho su ayuda!
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: 17
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Rebe (6 intervenciones) el 04/11/2020 16:50:33
Hola, la macro resulto excelente, solo me surgio una duda, si la asigno a un shape como hago para que el shape se relacione a la celda donde esta ubicado y así poder ejecutar la macro al darle click al mismo?
gracias nuevamente
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
Imágen de perfil de Antoni Masana
Val: 1.295
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Antoni Masana (457 intervenciones) el 04/11/2020 17:58:41
Tendrías que subir un ejemplo para ver que es lo que quieres 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: 17
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Copiar y pegar filas

Publicado por Rebe (6 intervenciones) el 04/11/2020 18:24:42
Hola, sería la misma macro que usted me ayudo, el tema es que para ejecutarla misma, la idea es que sea a través de un botón.
Como hago para que ese botón funcione con esa macro que ya me funciono?
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