Como puedo si hay condicional hacer que cuando imprima se ponga en blanco varias casilla

Tengo si M53 "" imrpimir rango X

si m53 es >=1 imprimir  tal rango

si M85 es>= a 1 imprimir tal rango

Ahora lo que quiero es que me deje las casillas de totales en letra blanca para que el cliente no las vea pero yo si pueda en loa computadora es decir

si M52>=1  imprimir en blanco casillas T53T54 yV53V54

Si M85 es A>=1 imprimir en blanc casillas T53T54T99 T100 V53V54VyT99 T100

1 respuesta

Respuesta
1

Dentro de las mismas instrucciones anteriores podrás colocar el tema de los formatos.

Por ej:

'configura el rango según valor de celda
If [M52] = "" Then
ActiveSheet.PageSetup.PrintArea = "$C$1:$V$41"
ElseIf [M52] >= 1 Then
'agregar formato blanco
Range("T53:T54").Font.Color = RGB(255, 255, 255)
Range("V53:V54").Font.Color = RGB(255, 255, 255)
ActiveSheet.PageSetup.PrintArea = "$C$1:$V$81"
Else
ActiveSheet.PageSetup.PrintArea = "$C$1:$V$123"
End If

Como en esta consulta estás mencionando otros rangos tendrás que colocar tantos ElseIf como condiciones tengas.

Otra opción, si en la fila 53:54 no tenés otra información para mostrar sino solo estos totales, podrás ocultar las filas. Entonces, en lugar de las 2 instrucciónes Font. Color colocarás para este criterio, esta sola:

Rows("53:54").Hidden = True

Luego necesitarás otra subrutina para volver todo a su estado normal, debes decidir en qué momento ejecutarla (dependerá de lo que realice tu macro principal).

Las instrucciones para deshacer formatos anteriores:

'para volver a color automático
Range("T53:T54, V53:V54").Font.ColorIndex = xlAutomatic

'para mostrar filas ocultas
Rows("53:54").Hidden = False

Lo tengoasi y no funciOna
Como puedo mandar con condicional if a imprimir poniendo alunas casillas en blanco.
Lo tengo así y no me imprime If [M58] = "" Then ActiveSheet.PageSetupL: PrintArea = "$C$1:$V$41" ElseIf [M58] >= 1 Then 'Agregar Formato en Blanco Range("T32:T33").Font.Color = RGB(255, 255, 255) Range("V32:V33").Font.Color = RGB(255, 255, 255)...

atudame por favor

Observa el grupo de instrucciones que dejé en negrita... tienen que ser las 2 de formato y la de la configuración del rango.

If [M58] = "" Then
ActiveSheet.PageSetup.PrintArea = "$C$1:$V$41"
ElseIf [M58] >= 1 Then
'agregar formato blanco
Range("T53:T54").Font.Color = RGB(255, 255, 255)
Range("V53:V54").Font.Color = RGB(255, 255, 255)
ActiveSheet.PageSetup.PrintArea = "$C$1:$V$81"
Else
End If

Con esas instrucciones solo le das formato y estableces el rango a imprimir.... luego falta la instrucción de impresión que seguramente ya la tenías anteriormente:

ActiveSheet.PrintOut      'o ActiveSheet. PrintPreview si primero realizas una vista preliminar.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas