
Macro para copiar y pegar registros filtrados
Publicado por Daniel Benitez (3 intervenciones) el 24/06/2024 18:29:46
Hola buenas tardes:
Tengo la sig. situación, asocie una Macro a un botón, el cual al dar clic copia y pega información de una tabla que tiene filtros (generado previo por una segmentación de datos), el código funciona pero me genera 2 problemas:
1. Al copiar hacia la nueva ubicación, lo hace con todo y los títulos de los campos, lo cual no debería porque el cuadro donde se copia la información ya cuenta con los títulos.
2. Al dar un nuevo clic en el botón debería copiar un nuevo registro de información en la fila inmediata vacía de abajo, pero no lo hace.
Código:
Sub Copiar()
'
' Copia la seleccion de los filtros
' Acceso directo: CTRL+f
'
Dim Mensaje As Integer
Dim Registros As Range
Mensaje = MsgBox("¿Pegar registro?", vbQuestion + vbYesNo, "Confirmar")
If Mensaje = vbNo Then Exit Sub
Range("N12:U12").Select
Selection.Copy
Range("N13").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("N12:U12").Select
Selection.ClearContents
Range("E43").Select
ActiveWindow.SmallScroll Down:=17
Range("B70:I70").Select
ActiveSheet.AutoFilter.Range.Copy
ActiveWindow.SmallScroll Down:=-17
Range("N11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
De antemano muchas gracias
Tengo la sig. situación, asocie una Macro a un botón, el cual al dar clic copia y pega información de una tabla que tiene filtros (generado previo por una segmentación de datos), el código funciona pero me genera 2 problemas:
1. Al copiar hacia la nueva ubicación, lo hace con todo y los títulos de los campos, lo cual no debería porque el cuadro donde se copia la información ya cuenta con los títulos.
2. Al dar un nuevo clic en el botón debería copiar un nuevo registro de información en la fila inmediata vacía de abajo, pero no lo hace.
Código:
Sub Copiar()
'
' Copia la seleccion de los filtros
' Acceso directo: CTRL+f
'
Dim Mensaje As Integer
Dim Registros As Range
Mensaje = MsgBox("¿Pegar registro?", vbQuestion + vbYesNo, "Confirmar")
If Mensaje = vbNo Then Exit Sub
Range("N12:U12").Select
Selection.Copy
Range("N13").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("N12:U12").Select
Selection.ClearContents
Range("E43").Select
ActiveWindow.SmallScroll Down:=17
Range("B70:I70").Select
ActiveSheet.AutoFilter.Range.Copy
ActiveWindow.SmallScroll Down:=-17
Range("N11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
De antemano muchas gracias
Valora esta pregunta


0