Imprimir y borrar contenido

Amigo quisiera que me ayudaran en la siguiente macro, que al momento de imprimir me borre los datos de algunas celdas.
Tengo el código de la macro pero la idea si al mismo se le puede integrar que borre el contenido de alguna celdas como por ejemplo A2, B2 y C2.
Sub Imprime_Numera()
ActiveSheet.PrintOut ' Copies:=2
' [f2] = "A" & Format(Val(Right([f2], 3)) + 1, "0000")
[f2] = [f2] + 1
End Sub
¿Por otro lado cuando tengo la celda bloqueada la macro me da error como podría solucionar eso?

1 respuesta

Respuesta
1
Tu macro imprime y luego incrementa el valor de 1 celda. Si esa celda está bloqueada te dará error.
Lo que tenés que agregar son las instrucciones para desproteger y volverla a proteger:
Sub Imprime_Numera()
ActiveSheet.PrintOut ' Copies:=2
ActiveSheet.Unprotect "tu clave"
' [f2] = "A" & Format(Val(Right([f2], 3)) + 1, "0000")
[f2] = [f2] + 1
'borro celdas
Range("A2:C2") = ""
ActiveSheet.Protect "tu clave"
End Sub
Nota: si necesitas borrar las celdas antes de imprimir tendrás que desproteger la hoja previamente (salvo que ya estén desbloqueadas)
Gracias amiga elsa por su respuesta me sirvió de mucho pero ahora necesito otra ayuda; como hago para que me imprima dos hojas a la vez (hoja1 y hoja2) pero manteniendo el mismo código de numeración para las dos hojas y el borrado del contenido pero de la hoja1.
Eso se lo podríamos agregar al código que usted me paso
Sub Imprime_Numera()
ActiveSheet.PrintOut ' Copies:=2
ActiveSheet.Unprotect "00000"
' [f2] = "A" & Format(Val(Right([f2], 3)) + 1, "0000")
[f2] = [f2] + 1
Range("A14:J42") = ""
ActiveSheet.Protect "481231"
End Sub
Sin más que decir en lo particular y en espera de tan valiosa respuesta.
Saludos.
Si necesitas incrementar la numeración en cada hoja, tendrás que repetir las instrucciones que desprotegen la hoja, cambian la numeración y vuelven a proteger, en las 2 hojas activandola o no
Ej:
Sub Imprime_Y_Numera()
'estando en Hoja1
ActiveSheet.PrintOut ' Copies:=2
'imprimo la Hoja2 sin seleccionarla
Sheets("Hoja2").PrintOut
Sheets("Hoja2").Unprotect "00000"
Sheets("Hoja2").[f2] = [f2] + 1
Sheets("Hoja2").Protect "00000"
'continuo con las instrucciones para Hoja1
ActiveSheet.Unprotect "00000"
' [f2] = "A" & Format(Val(Right([f2], 3)) + 1, "0000")
[f2] = [f2] + 1
Range("A14:J42") = ""
ActiveSheet.Protect "481231" '*
End Sub
(*) Atención que desproteges la hoja con 1 clave y luego la protegés con otra...
PD) Si tenés nuevas consultas, finalizá ésta y luego seguimos con los otros temas.
Sdos
Elsa
Últimos días para aprovechar la promoción en manuales. Te invito a visitar mi sitio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas