Salto de pagina

27/07/2004 - 06:52 por Fabian | Informe spam
Se puede borrar un salto de pagina con una referencia a una celda??
La grabadora lo hace con referencia al numero de salto.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
28/07/2004 - 08:16 | Informe spam
hola, Fabian !

Se puede borrar un salto de pagina con una referencia a una celda??
La grabadora lo hace con referencia al numero de salto.



[aunque de todas formas 'tendrias que' hacer un 'barrido' por los saltos de pagina de 'la hoja'...]
un salto de pagina [horizontal o vertical] 'pertenece' a un conjunto de objetos ['saltos de pagina']
=>esa es la 'razon' por la cual la grabadora 'hace referencia' al numero del salto<podras borrarlo, siempre y cuando 'se cumplan' las siguientes condiciones...
a) que sea un salto 'manual' [NO 'automatico']
b) que su ubicacion 'coincida' con el borde superior del numero de fila de 'la celda' [saltos horizontales]
o... su ubicacion 'coincida' con el borde izquierdo del numero de columna de 'la celda' [verticales]

¿comentas datos adicionales?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Fabian
06/08/2004 - 06:41 | Informe spam
Mil discupas, es que me embolé porque no me salía y lo deje, mejor dicho lo
negue inconscientemente.
Discupá la respuesta tardía. Gracias por contestar.
El problema es que hice una planilla en la que no planee un monton de
problemas que van apareciendo. Verdaderamente es complicado.
En tu explicación mencionas que con el número de fila lo podría borrar, eso
es lo que necesito.
La condición que tengo es esta:
Si la celda A240 está vacia entonces borrar el salto de página que alli se
encuentra.

Si hay algun código para esto, agradecido, sino lo hare a mano! :-(

Un agradecido saludo!
El código que si me funciona, es el que dice si la celda A240 no es vacia
entonces salto de pag.

"Héctor Miguel" escribió en el mensaje
news:
hola, Fabian !

> Se puede borrar un salto de pagina con una referencia a una celda??
> La grabadora lo hace con referencia al numero de salto.

[aunque de todas formas 'tendrias que' hacer un 'barrido' por los saltos


de pagina de 'la hoja'...]
un salto de pagina [horizontal o vertical] 'pertenece' a un conjunto de


objetos ['saltos de pagina']
=>esa es la 'razon' por la cual la grabadora 'hace referencia' al numero


del salto<> podras borrarlo, siempre y cuando 'se cumplan' las siguientes
condiciones...
a) que sea un salto 'manual' [NO 'automatico']
b) que su ubicacion 'coincida' con el borde superior del numero de fila de


'la celda' [saltos horizontales]
o... su ubicacion 'coincida' con el borde izquierdo del numero de


columna de 'la celda' [verticales]

¿comentas datos adicionales?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
06/08/2004 - 12:51 | Informe spam
hola, Fabian !

... mencionas que con el numero de fila lo podria borrar [...]
La condicion ... es esta:
Si la celda A240 esta vacia ... borrar el salto de pagina que alli se encuentra [...]



nota: si 'pretendes' borrar varios saltos 'simultaneamente'... =>toma nota de que...< la 'numeracion' de los saltos 'se va desplazando'... lo que pudiera causar... ¿detalles???
prueba la siguiente macro y... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Elminar_Salto_Manual_En_Celda_Fila_X()
Dim Col As String, Fila As Long, S As Long
Col = "a"
Fila = 240
If Not IsEmpty(Range(Col & Fila)) Then Exit Sub
Names.Add _
Name:="SH", _
RefersToR1C1:="=Get.Document(64)"
On Error GoTo Salir
S = Evaluate("Match(" & Fila & ",SH,0)")
With ActiveSheet.HPageBreaks(S)
If .Type = xlPageBreakManual Then .Delete
End With
Salir:
Names("SH").Delete
End Sub
Respuesta Responder a este mensaje
#4 Fabian
06/08/2004 - 23:44 | Informe spam
Funciona. Gracias.>pero...
Explicame como!!! (cuando puedas y tengas tiempo).
Las preguntas estan mas abajo.
Mil Gracias.
From: "Héctor Miguel"
Newsgroups: microsoft.public.es.excel
Sent: Friday, August 06, 2004 7:51 AM
Subject: Re: Salto de pagina


hola, Fabian !

> ... mencionas que con el numero de fila lo podria borrar [...]
> La condicion ... es esta:
> Si la celda A240 esta vacia ... borrar el salto de pagina que alli se


encuentra [...]

nota: si 'pretendes' borrar varios saltos 'simultaneamente'... =>toma nota


de que...<> la 'numeracion' de los saltos 'se va desplazando'... lo que
pudiera causar... ¿detalles???
prueba la siguiente macro y... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==> Sub Elminar_Salto_Manual_En_Celda_Fila_X()
Dim Col As String, Fila As Long, S As Long >Aqui S es la


variante del Nº de salto?
Col = "a"
Fila = 240
If Not IsEmpty(Range(Col & Fila)) Then Exit Sub
Names.Add _


==>Esto no lo entiendo
Name:="SH", _


==>Tampoco lo entiendo
RefersToR1C1:="=Get.Document(64)" ==> "
On Error GoTo Salir
S = Evaluate("Match(" & Fila & ",SH,0)") ==>,SH,0 =>


???
With ActiveSheet.HPageBreaks(S)
If .Type = xlPageBreakManual Then .Delete ==> ??? Type
End With
Salir:
Names("SH").Delete ==> ???
End Sub




"Héctor Miguel" escribió en el mensaje
news:#
hola, Fabian !

> ... mencionas que con el numero de fila lo podria borrar [...]
> La condicion ... es esta:
> Si la celda A240 esta vacia ... borrar el salto de pagina que alli se


encuentra [...]

nota: si 'pretendes' borrar varios saltos 'simultaneamente'... =>toma nota


de que...<> la 'numeracion' de los saltos 'se va desplazando'... lo que
pudiera causar... ¿detalles???
prueba la siguiente macro y... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==> Sub Elminar_Salto_Manual_En_Celda_Fila_X()
Dim Col As String, Fila As Long, S As Long
Col = "a"
Fila = 240
If Not IsEmpty(Range(Col & Fila)) Then Exit Sub
Names.Add _
Name:="SH", _
RefersToR1C1:="=Get.Document(64)"
On Error GoTo Salir
S = Evaluate("Match(" & Fila & ",SH,0)")
With ActiveSheet.HPageBreaks(S)
If .Type = xlPageBreakManual Then .Delete
End With
Salir:
Names("SH").Delete
End Sub

Respuesta Responder a este mensaje
#5 Héctor Miguel
07/08/2004 - 01:42 | Informe spam
hola, Fabian !

Funciona. Gracias.


=> gracias a ti... [por el 'feed-back'] ;)

pero... como!!! [...]


=> el proceso es un 'tanto por cuanto' logico ;) [trato de explicarlo]...
puesto que los saltos de pagina ->deben<- ser 'referenciados' por su numero [y ubicacion]...
1° crear una matriz con los numeros [fila/columna] donde 'caen' los saltos [manuales/automaticos]
[esto se puede hacer]...
a) 'barriendo' cada salto [y meterlos a una matriz] 'localizando' su [ubicacion en] fila/columna [p.e.]
For ... Next + If .[H/V]PageBeak(n).Location.[Row/Column] = ... Then
b) o... [mas 'directamente'] usando 'macrofunciones' de excel4 [p.e.]
=Get.Document(64) [horizontales_filas] o... =Get.Document(65) [verticales_columnas]
ambas 'generan' una matriz ->YA con el numero de fila/columna<- donde 'estan' los saltos
2° usando la alternativa 'b' [por rapidez], queda un 'requisito' [al usar este tipo de 'trucos'] que es...
- 'bajar' a la hoja 'el resultado' [en este caso... 'creando' un nombre ->temporal<-]
3° 'localizar' [si existe] la 'posicion' [o indice en la matriz] del salto que 'coincida' con la fila/columna 'deseada'
4° si no 'existen' saltos o se 'intenta' eliminar un salto 'automatico' [por codigo] se generan 'errores' :((

'obviando' [un poquitin] el 'entendimiento' del ['resto' del] proceso... el codigo [ya] se puede 'adelgazar'
[omitiendo variables y 'pasos' ->ya comprendidos<-] y queda ['simplificado'] como sigue...

si cualquier duda... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Elminar_Salto_Manual_En_Celda_Fila_X()
Dim Col As String, Fila As Long
Col = "a"
Fila = 240
If Not IsEmpty(Range(Col & Fila)) Then Exit Sub
Names.Add Name:="SH", RefersToR1C1:="=Get.Document(64)"
On Error GoTo Salir
ActiveSheet.HPageBreaks(Evaluate("Match(" & Fila & ",SH,0)")).Delete
Salir:
Names("SH").Delete
End Sub
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida