Copiar Rangos Mediante Condición con vba

Hace unos días un amigo me apoyo con un código que me copia un rango de acuerdo a una condición, en este caso la condición es la palabra "BG", al encontrar esta palabra me copia la celas, desde la columna "AG" más otras 5 columnas, ejemplo: "AG38:AK38, el problema que tengo es que me copie las formulas yo quisiera que ustedes me ayudaran a codificarla, haciendo que me copie solo los valores.

Este es e codigo.

Sub Copiar_Rango()
Application.ScreenUpdating = False
'selecciona rango b2
Sheets("PC").Select
Range("AG26").Select
'inicia bucle hasta que se encuentre una celda en blanco
Do While ActiveCell <> ""
'condición en la que decimos que si se encuentra el la condición copie
'desde esa celda hasta las 5 columnas siguientes
If ActiveCell = "BG" Then
ActiveCell.Select
Range(ActiveCell, ActiveCell.Offset(0, 5)).Select
Selection.Copy
Sheets("BG").Select
Range("a1").Select
'inicia otro bucle para encontrar una celda en blanco para pergar el contenido copiado anteriormente
Do While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
End If
Sheets("PC").Select
ActiveCell.Offset(1, 0).Select
Loop
Application.ScreenUpdating = True
End Sub

Respuesta
1

Reemplaza la línea Activesheet. Paste por :

Selection. PasteSpecial xlPasteValues

Y si quieres que también pegue los formatos agrega:

Selection. PasteSpecial xlPasteFormats

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas