Configuración de página mediante macros en excel

Tengo un conflicto con programar una macro para editar la en encabezado y pie de página de una hoja en excel.

La hoja está previamente configurada con información, como la fecha de impresión. Se supone que este campo no puede ser editado por terceras personas. Al bloquear la hoja me encuentro que los parámetros de encabezado y pie de página son, a pesar de todo, editables.

Es por eso que intento configurar la hoja en el ThisWorkbook. BeforePrint, pero cuando ejecuto la macro se desorganiza la información (por ejemplo, lo que debía estar en el margen superior derecho queda centrado en el encabezado) y además se concatena con la información anterior.

¿Qué será?

1 respuesta

Respuesta
3

Te dejo una macro de ejemplo de cómo configurar el Encabezado de una hoja. Lo mismo vale para el pie.

Activa la grabadora de macros. Y seguí los pasos de la imagen: ya tenía asignado el margen izquierdo con la fecha y ahora le agregué Nombre de Libro al centro y Nombre de Hoja a la derecha.

Como verás hay otros botones que podrás utilizar, incluso colocar una imagen, y cuando detengas la grabadora encontrarás las instrucciones en un módulo.

En el evento BeforePrint del libro tendrás que hacer mención a la hoja (si el encabezado se personaliza para algunas y otras no). Si es igual para todas las hojas no hace falta que evalúes de cuál se trata.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "2" Then      'nombre de la hoja con este encabezado
   With ActiveSheet.PageSetup
        .LeftHeader = "&D"        'fecha a la izquierda
        .CenterHeader = "&F"      'nombre del libro
        .RightHeader = "&A"       'nombre de la hoja
      'pie
        .LeftFooter = "&P"         'nro de página
        .CenterFooter = ""
        .RightFooter = "&N"        'nro de páginas en total
    End With
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas