Macro para limpiar sin borrar fórmulas

Buenos días.
Seré un poco extenso pues quiero ser bien explicito.
Tengo una aplicación en Excel, la cual contiene las siguientes columnas:
A, B, C, D, E, F, G, H.
La misma puede tener filas innumerables.
Cuenta con las siguientes Hojas:
Reporte general, Reporte de cobros, Factura Pendiente.
La siguiente macro, dependiendo del status de las facturas las envía a su respectiva hoja.
Option Explicit
Dim rc As Long
Dim fp As Long
Sub Facturas()
Dim i As Long
Dim g As Long
Sheets("Reporte General de ventas").Select
Sheets(Array("Reporte General de ventas", "Reporte de Cobros", _
"Reporte Facturas Pendiente")).Select
Sheets("Reporte General de ventas").Activate
[A65536].Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[-65535]C:R[-1]C)"
[a2].Select
Sheets("Reporte General de ventas").Select
g = [A65536].Value
[A65536].Clear
If g = 0 Then Exit Sub
Application.ScreenUpdating = False
For i = 2 To g
If Range("H" & i).Text = "Saldada" Then cop1 (i)
If Range("H" & i).Text = "Factura Pendiente" Then Rows(i).Select: Rows(i).Copy: cop2 (i)
DoEvents
Next
[a2].Select
Application.ScreenUpdating = True
MsgBox " *****LISTO*****"
MsgBox " *****RIMOLI ESPINAL*****"
End Sub
Sub cop1(fila As Long)
rc = Sheets("Reporte de Cobros").Range("A65536").Value
rc = (rc + 2)
Sheets("Reporte de Cobros"). Cells(rc, 1) = Sheets("Reporte General de ventas").Cells(fila, 2)
Sheets("Reporte de Cobros"). Cells(rc, 2) = Sheets("Reporte General de ventas").Cells(fila, 1)
Sheets("Reporte de Cobros"). Cells(rc, 3) = Sheets("Reporte General de ventas").Cells(fila, 3)
Sheets("Reporte de Cobros"). Cells(rc, 6) = Sheets("Reporte General de ventas").Cells(fila, 6)
Sheets("Reporte de Cobros"). Cells(rc, 7) = Sheets("Reporte General de ventas").Cells(fila, 7)
End Sub
Sub cop2(fila As Long)
fp = Sheets("Reporte Facturas Pendiente").Range("A65536").Value
fp = (fp + 2)
Sheets("Reporte Facturas Pendiente").Select
Sheets("Reporte Facturas Pendiente").Cells(fp, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Reporte General de ventas").Select
End Sub
Tengo otra macro que se encarga de limpiar la Hoja "Reporte de Cobros".
Sub Borrarrango()
Range("A3:G$100").Select 'ingresar las celdas necesarias
Selection.ClearContents
End Sub
Queasier:
1- Modificar esta macro para que solo me limpie los datos de la celda ya que en la columna C29, C30, F29, F30, G29, G30, tengo los totales y una fórmula que suma las columnas F y G.
2- Quiero lograr que al ejecutar la primera macro, la información definida en las celdas C29, C30, F29, F30, G29, G30, se despasen hacia abajo según la información cargada.
Gracias

1 Respuesta

Respuesta
1
Te paso tu rutina Borrarrango ajustada, según las ref que indicaste.
Sub Borrarrango()
Range("A3:B100, C3:C28, D3:E100, F3:G28, C31:C100, F31:G100").Select
Selection. ClearContents
End Sub
Verificá que el rango que omití es el correcto.
PD) Como solo respondemos 1 tema por vez, así podemos asistir a todos un poco, te solicito que vuelvas a dejar la 2da consulta en el tablón, una vez finalizada esta.
Gracias de antemano.
Lo siguiente que quiero lograr es:
2- Quiero lograr que al ejecutar la primera macro, la información definida en las celdas C29, C30, F29, F30, G29, G30, se despasen hacia abajo según la información cargada.
Gracias
Te comenté que solo tratamos 1 tema en cada consulta... finaliza esta y deja nuevamente la 2da consulta en el tablón, con su correspondiente 'asunto', así ayudamos entre todos al buscador ... gracias !
Te responderé con mucho gusto desde el tablón.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas