Trazar una linea en cada salto de pagina

09/07/2007 - 18:10 por Francisco | Informe spam
Hola a todos en el foro:
Tendra alguno de Uds. codigo para trazar una linea semigruesa imprimible en
cada salto de pagina en un numero de columnas definible. Lleno un formato a
lo largo de la hoja con un encabezado comun y en cada salto de pagina tengo
que trazar una linea para que en la vista de impresion se vea el corte del
formato por pagina. Ya cuando son mas de 20 paginas se vuelve una tarea muy
tediosa y si por alguna razon hubiere que modificar - eliminar o aumentar
renglones - el formato hay que retrabajarle mucho.

Apreciare su ayuda

Francisco

Preguntas similare

Leer las respuestas

#1 auditt
09/07/2007 - 18:33 | Informe spam
Excel te permite definir unas lineas como encabezamiento comun a todos los
saltos de pagina, sean automaticos o manuales. No entiendo la necesidad de
incluir una linea para mostrar el salto de pagina pues el salto de pagina es
evidente puesto que ha comenzado una nueva pagina, pero si quieres que
debajo del encabezamiento te aparezca una linea gruesa puedes hacerlo
poniendole borde inferior a las celdas de la ultima fila del encabezamiento.


"Francisco" escribió en el mensaje
news:
Hola a todos en el foro:
Tendra alguno de Uds. codigo para trazar una linea semigruesa imprimible
en
cada salto de pagina en un numero de columnas definible. Lleno un formato
a
lo largo de la hoja con un encabezado comun y en cada salto de pagina
tengo
que trazar una linea para que en la vista de impresion se vea el corte del
formato por pagina. Ya cuando son mas de 20 paginas se vuelve una tarea
muy
tediosa y si por alguna razon hubiere que modificar - eliminar o aumentar
renglones - el formato hay que retrabajarle mucho.

Apreciare su ayuda

Francisco
Respuesta Responder a este mensaje
#2 Francisco
09/07/2007 - 20:10 | Informe spam
Hola "auditt"
Tal vez no supe plantear bien el problema:
la linea seria para ponerla al final de la pagina, como haciendo el corte
del formato en cada pagina.
Para el encabezado del formato utlizo 14 renglones. El cuerpo del formato
con los datos me ocupan 10 columnas de diferentes anchos. El llenado de datos
se hace hacia abajo en filas tambien de variadas alturas, dependiendo de la
descripcion de cada partida. No hay lineas entre partidas. Debido a la
variacion en las alturas de las filas, la cantidad de partidas por pagina es
tambien variable. Imprimo en hojas tamaño carta en formato horizontal. Me
valgo de la "vista previa de salto de pagina" para identificar en donde se
localizan los saltos de pagina que estan marcados por una linea punteada no
imprimible. Es ahi donde le tengo que dar formato a las celdas (a lo ancho de
las 10 columnas) con un borde inferior de linea "semigruesa".
Espero ahora si haber descrito el problema.

Saludos
Francisco

"auditt" escribió:

Excel te permite definir unas lineas como encabezamiento comun a todos los
saltos de pagina, sean automaticos o manuales. No entiendo la necesidad de
incluir una linea para mostrar el salto de pagina pues el salto de pagina es
evidente puesto que ha comenzado una nueva pagina, pero si quieres que
debajo del encabezamiento te aparezca una linea gruesa puedes hacerlo
poniendole borde inferior a las celdas de la ultima fila del encabezamiento.


"Francisco" escribió en el mensaje
news:
> Hola a todos en el foro:
> Tendra alguno de Uds. codigo para trazar una linea semigruesa imprimible
> en
> cada salto de pagina en un numero de columnas definible. Lleno un formato
> a
> lo largo de la hoja con un encabezado comun y en cada salto de pagina
> tengo
> que trazar una linea para que en la vista de impresion se vea el corte del
> formato por pagina. Ya cuando son mas de 20 paginas se vuelve una tarea
> muy
> tediosa y si por alguna razon hubiere que modificar - eliminar o aumentar
> renglones - el formato hay que retrabajarle mucho.
>
> Apreciare su ayuda
>
> Francisco



Respuesta Responder a este mensaje
#3 Ivan
10/07/2007 - 04:02 | Informe spam
On 9 jul, 20:10, Francisco
wrote:
Hola "auditt"
Tal vez no supe plantear bien el problema:
la linea seria para ponerla al final de la pagina, como haciendo el corte
del formato en cada pagina.
Para el encabezado del formato utlizo 14 renglones. El cuerpo del formato
con los datos me ocupan 10 columnas de diferentes anchos. El llenado de datos
se hace hacia abajo en filas tambien de variadas alturas, dependiendo de la
descripcion de cada partida. No hay lineas entre partidas. Debido a la
variacion en las alturas de las filas, la cantidad de partidas por pagina es
tambien variable. Imprimo en hojas tamaño carta en formato horizontal. Me
valgo de la "vista previa de salto de pagina" para identificar en donde se
localizan los saltos de pagina que estan marcados por una linea punteada no
imprimible. Es ahi donde le tengo que dar formato a las celdas (a lo ancho de
las 10 columnas) con un borde inferior de linea "semigruesa".
Espero ahora si haber descrito el problema.

Saludos
Francisco

"auditt" escribió:



> Excel te permite definir unas lineas como encabezamiento comun a todos los
> saltos de pagina, sean automaticos o manuales. No entiendo la necesidad de
> incluir una linea para mostrar el salto de pagina pues el salto de pagina es
> evidente puesto que ha comenzado una nueva pagina, pero si quieres que
> debajo del encabezamiento te aparezca una linea gruesa puedes hacerlo
> poniendole borde inferior a las celdas de la ultima fila del encabezamiento.

> "Francisco" escribió en el mensaje
>news:
> > Hola a todos en el foro:
> > Tendra alguno de Uds. codigo para trazar una linea semigruesa imprimible
> > en
> > cada salto de pagina en un numero de columnas definible. Lleno un formato
> > a
> > lo largo de la hoja con un encabezado comun y en cada salto de pagina
> > tengo
> > que trazar una linea para que en la vista de impresion se vea el corte del
> > formato por pagina. Ya cuando son mas de 20 paginas se vuelve una tarea
> > muy
> > tediosa y si por alguna razon hubiere que modificar - eliminar o aumentar
> > renglones - el formato hay que retrabajarle mucho.

> > Apreciare su ayuda

> > Francisco- Ocultar texto de la cita -

- Mostrar texto de la cita -



hola Francisco,

si quieres puedes probar este codigo, a ver que tal (parece funcionar
bien, pero no te fies mucho, pues es la 1ª vez (creo) que toco los
saltos de pagina)

Sub saltoDePagina()
Dim salto As Range, n As Integer
n = 1
With Worksheets("Hoja1")
Do
.HPageBreaks(n).Location.Offset(-1) _
.Borders(xlEdgeBottom).Weight = xlMedium
n = n + 1
Loop Until n > .HPageBreaks.Count
End With
End Sub

a ver si te ayuda

un saludo
Ivan
Respuesta Responder a este mensaje
#4 Ivan
11/07/2007 - 01:26 | Informe spam
hola de nuevo, chicos.

aunque no se si Francisco seguira por ahi, como me habia quedado un
gusanillo con los saltos de pagina y ademas la respuesta no acababa de
estar completa, despues de darle algunas vueltas creo que este codigo
si resuelve el tema,

Sub BordeSaltosPagina()
Dim f As Long, hs As Integer, vista
vista = ActiveWindow.View
Application.ScreenUpdating = False
With Hoja1
.Activate: f = 1
ActiveWindow.View = xlPageBreakPreview
Do
.Range(.HPageBreaks(f).Location.Offset(-1), _
.HPageBreaks(f).Location.Offset(-1, 9)) _
.Borders(xlEdgeBottom).Weight = xlMedium
f = f + 1: hs = .HPageBreaks.Count
Loop Until f > hs
End With
ActiveWindow.View = vista
End Sub


la verdad es que trabajar sobre los saltos de pagina tiene su aquel.
Entre otras cosas parece necesario tener activada la vista previa de
salto de pagina, y ademas, me da la impresion de que al regtuesar
lineas pueden alterase la posicion de dichos saltos (no estoy seguro
del todo, pero me ha dado la imprsion de que si)

bueno, esto de momento parece trabajar bien y pone un borde justo
debajo de los datos de cada pagina, por encima del pie de pagina, si
se tiene.

un saludo
Ivan
Respuesta Responder a este mensaje
#5 Francisco
11/07/2007 - 18:28 | Informe spam
Hola Ivan:
Gracias por tu respuesta
Hoy temprano estuve probando tu primera propuesta (no habia visto aun la
segunda).
El resultado de la prueba fue que solo traza la linea en la primera columna
del rango de impresion, pero cosa curiosa, en la pagina 3 traza la linea a la
mitad de la pagina (tambien solo en la 1ra columna)
Te iba a poner el comentario y fue que vi tu 2da respuesta. Inmediatamente
probé y "jaló" muy bien, pero igual tambien traza adicionalmente la linea a
la mitad de la 3ra pagina (a lo ancho del rango de impresion) - Ya probe con
diferentes rangos de impresion - 5, 20 y 48 pag - y hace lo mismo.
Oye, si no es mucho el encaje, podrias adecuar el codigo para que se ejecute
en la hoja activa. Eso la haria grandemente flexible.
Por otro lado tienes razon al declarar que el grosor de la linea altera la
posicion de los saltos de pagina. Me ha pasado que trazo el borde grueso de
celda y la linea punteada indicadora de salto de pagina se mueve hacia la
fila inmediata superior. Lo que he hecho, cuando aplica, es disminuir la
altura de tal fila . El salto de pagina regresa a su posicion original.
Por otro lado, cuando se trabaja con filas de diferentes alturas el salto de
pagina se mueve hacia arriba si la fila donde le correspondia establecerse
tiene una altura tal que se rebasa la altura del salto de pagina (que creo
depende de la impresora, los margenes, los encabezados y los pies de pagina).
A mano tengo que insertar filas en blanco. Todo esto para que el bode
inferior de la pagina se mantenga mas o menos a la misma distancia de la
orilla de la hoja de papel y asi un reporte impreso de X num de paginas
tengan cierta estetica. Si esto pudiera resolverse automaticamente por codigo
seria fantastico.

Ok Ivan muchas gracias..

Saludos



"Ivan" escribió:

hola de nuevo, chicos.

aunque no se si Francisco seguira por ahi, como me habia quedado un
gusanillo con los saltos de pagina y ademas la respuesta no acababa de
estar completa, despues de darle algunas vueltas creo que este codigo
si resuelve el tema,

Sub BordeSaltosPagina()
Dim f As Long, hs As Integer, vista
vista = ActiveWindow.View
Application.ScreenUpdating = False
With Hoja1
.Activate: f = 1
ActiveWindow.View = xlPageBreakPreview
Do
.Range(.HPageBreaks(f).Location.Offset(-1), _
.HPageBreaks(f).Location.Offset(-1, 9)) _
.Borders(xlEdgeBottom).Weight = xlMedium
f = f + 1: hs = .HPageBreaks.Count
Loop Until f > hs
End With
ActiveWindow.View = vista
End Sub


la verdad es que trabajar sobre los saltos de pagina tiene su aquel.
Entre otras cosas parece necesario tener activada la vista previa de
salto de pagina, y ademas, me da la impresion de que al regtuesar
lineas pueden alterase la posicion de dichos saltos (no estoy seguro
del todo, pero me ha dado la imprsion de que si)

bueno, esto de momento parece trabajar bien y pone un borde justo
debajo de los datos de cada pagina, por encima del pie de pagina, si
se tiene.

un saludo
Ivan



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida