Foros del Web » Soporte técnico » Ofimática »

Predeterminar paginas? (excel)

Estas en el tema de Predeterminar paginas? (excel) en el foro de Ofimática en Foros del Web. Excel es mucho mas incompleto que su hermanito Word, en este caso. La opcion para predeterminar la configuracion de las paginas, no existe en Excel. ...
  #1 (permalink)  
Antiguo 13/08/2008, 10:34
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Pregunta Predeterminar paginas? (excel)

Excel es mucho mas incompleto que su hermanito Word, en este caso. La opcion para predeterminar la configuracion de las paginas, no existe en Excel.

He estado investigando como puedo hacer para salvar este problema, a traves de un macro llamado "predeterminar()" ...
Lo logro, pero los cambios se aplican en la "hoja activa" ... cuando yo quiero que se aplique a todas las hojas que tenga el archivo que ejecute dicho Macro... me explico?

Macro:
Código:
Sub Predeterminar()
'
' Predeterminar Macro
' Configuracion predeterminada de Paginas
'
' Acceso directo: Ctrl+Mayús+P
'
    
    Dim ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In ActiveWorkbook.Sheets
         'False to extend the current selection to include
         ' any previously selected objects and the specified object
        ws.Select False
    Next ws
    Application.ScreenUpdating = True
    
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = "&8&F" & Chr(10) & "&A"
        .LeftMargin = Application.InchesToPoints(0.590551181102362)
        .RightMargin = Application.InchesToPoints(0.393700787401575)
        .TopMargin = Application.InchesToPoints(0.590551181102362)
        .BottomMargin = Application.InchesToPoints(0.590551181102362)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
End Sub
Como podran observar, la configuracion cambia los margenes y el pie de pagina UNICAMENTE.

Si bien el macro selecciona todas las hojas activas, no cambia la configuracion de pagina en todas, sino solamente en la primera... y no hay san google que me salve!!!

Podran hacer algo?
Espero que si...
__________________
ReC Blog =)
  #2 (permalink)  
Antiguo 13/08/2008, 10:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Predeterminar paginas? (excel)

Si te fijas está usando el objeto ActiveSheet (Hoja Activa). Cambia por un parámetro.
Por ejemplo:
Código PHP:
Sub Predeterminar(Hoja As Worksheet
Luego, reemplaza todos los ActiveSheet por Hoja.
Después, con un bucle For ya se podrá hacer en todas las hojas. Por ejemplo:
Código PHP:
Dim Looping As Single
For Looping 1 To Worksheets.Count
     Predeterminar Worksheets
(Looping)
Next Looping 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 13/08/2008, 11:12
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Cita:
Iniciado por David el Grande Ver Mensaje
Si te fijas está usando el objeto ActiveSheet (Hoja Activa). Cambia por un parámetro.
Por ejemplo:
Código PHP:
Sub Predeterminar(Hoja As Worksheet
Luego, reemplaza todos los ActiveSheet por Hoja.
Después, con un bucle For ya se podrá hacer en todas las hojas. Por ejemplo:
Código PHP:
Dim Looping As Single
For Looping 1 To Worksheets.Count
     Predeterminar Worksheets
(Looping)
Next Looping 
Gracias David, pero no entiendo nada...
Como hago para agregar ese "loop" ?
Y como hago para hacer parametro las hojas que se seleccionan? (como grupo)
__________________
ReC Blog =)
  #4 (permalink)  
Antiguo 13/08/2008, 11:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Predeterminar paginas? (excel)

No, no, solo cambia el Sub por lo que te puse.

El Loop ese lo pones en la parte del código donde deseas que se 'predeterminen' las Hojas.

El todo sería algo parecido a esto:
Código PHP:
Sub Predeterminar(Hoja As Worksheet)
'
Predeterminar Macro
' Configuracion predeterminada de Paginas
'
' Acceso directo: Ctrl+Mayús+P
'
    
    
Dim ws As Worksheet
    Application
.ScreenUpdating False
    
For Each ws In ActiveWorkbook.Sheets
         
'False to extend the current selection to include
         ' 
any previously selected objects and the specified object
        ws
.Select False
    Next ws
    Application
.ScreenUpdating True
    
    With Hoja
.PageSetup
        
.PrintTitleRows ""
        
.PrintTitleColumns ""
    
End With
    Hoja
.PageSetup.PrintArea ""
    
With Hoja.PageSetup
        
.LeftHeader ""
        
.CenterHeader ""
        
.RightHeader ""
        
.LeftFooter ""
        
.CenterFooter ""
        
.RightFooter "&8&F" Chr(10) & "&A"
        
.LeftMargin Application.InchesToPoints(0.590551181102362)
        .
RightMargin Application.InchesToPoints(0.393700787401575)
        .
TopMargin Application.InchesToPoints(0.590551181102362)
        .
BottomMargin Application.InchesToPoints(0.590551181102362)
        .
HeaderMargin Application.InchesToPoints(0)
        .
FooterMargin Application.InchesToPoints(0)
        .
PrintHeadings False
        
.PrintGridlines False
        
.PrintComments xlPrintNoComments
        
.PrintQuality 600
        
.CenterHorizontally False
        
.CenterVertically False
        
.Orientation xlPortrait
        
.Draft False
        
.PaperSize xlPaperA4
        
.FirstPageNumber xlAutomatic
        
.Order xlDownThenOver
        
.BlackAndWhite False
        
.Zoom False
        
.FitToPagesWide 1
        
.FitToPagesTall 1
    End With
End Sub
Sub PredeterminarTodos
()
Dim Hoja As Worksheet
For Each Hoja In ActiveWorkbook.Sheets
    Predeterminar Hoja
Next Hoja
End Sub 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 13/08/2008, 11:26
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Ey David., nose si anda ... porq si le cambio el SUB, por Sub Predeterminar(Hoja As Worksheet) ... el macro deja de existir, despues no lo puedo "llamar" para ejecutar...

MMM ... disculpa mi ignorancia ... :(
__________________
ReC Blog =)
  #6 (permalink)  
Antiguo 13/08/2008, 11:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Predeterminar paginas? (excel)

¿Has probado con el código que te puse?. Solo necesitas llamar a PredeterminarTodos().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 13/08/2008, 11:41
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Uy,... no habia visto el codigo que editaste...
Anda perfecto ... tarda un poquitin... es normal ?

Te ganaste karmines ;)

Gracias viejo !!!!
__________________
ReC Blog =)
  #8 (permalink)  
Antiguo 13/08/2008, 11:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Predeterminar paginas? (excel)

Me alegro que funcione.

Sí, es normal que tarde si son varias hojas.

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 13/08/2008, 17:43
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
De acuerdo Respuesta: Predeterminar paginas? (excel)

Hola! SidV.
Más allá que la macro que perfeccionara David funcione correctamente, me permito rebatir una afirmación tuya anterior: - "Excel es mucho mas incompleto que su hermanito Word, en este caso. La opcion para predeterminar la configuracion de las paginas, no existe en Excel."
Tal cosa... lejos está de ser cierta.

Te sugiero que leas como se realiza esa acción en el siguiente enlace: Insertar una nueva hoja basada en una plantilla personalizada.
Allí leerás (bajo el desplegable ¿Cómo?) la forma de hacerlo en Excel 2003. Naturalmente, puedes consultar allí mismo la forma de hacerlo si tienes otra versión del programa.

De allí extraigo el siguiente comentario: Cree un libro que contenga las hojas, el texto predeterminado (como los encabezados de página y los rótulos de filas y columnas), las fórmulas, las macros, los estilos y otra información de formato que desee incluir en los nuevos libros basados en la plantilla.

Espero que te sea útil su lectura.
Saludos, Cacho.
  #10 (permalink)  
Antiguo 14/08/2008, 10:03
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Cita:
Iniciado por mrocf Ver Mensaje
Hola! SidV.
Más allá que la macro que perfeccionara David funcione correctamente, me permito rebatir una afirmación tuya anterior: - "Excel es mucho mas incompleto que su hermanito Word, en este caso. La opcion para predeterminar la configuracion de las paginas, no existe en Excel."
Tal cosa... lejos está de ser cierta.

Te sugiero que leas como se realiza esa acción en el siguiente enlace: Insertar una nueva hoja basada en una plantilla personalizada.
Allí leerás (bajo el desplegable ¿Cómo?) la forma de hacerlo en Excel 2003. Naturalmente, puedes consultar allí mismo la forma de hacerlo si tienes otra versión del programa.

De allí extraigo el siguiente comentario: Cree un libro que contenga las hojas, el texto predeterminado (como los encabezados de página y los rótulos de filas y columnas), las fórmulas, las macros, los estilos y otra información de formato que desee incluir en los nuevos libros basados en la plantilla.

Espero que te sea útil su lectura.
Saludos, Cacho.
Gracias mrocf, pero en el laburo usamos Excel 2000 ... y no tengo esa opcion.

De todas formas gracias... necesitaba sacarme las dudas con los macros y aprender cada vez mas ... gracias!
__________________
ReC Blog =)
  #11 (permalink)  
Antiguo 15/08/2008, 11:09
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Cita:
Iniciado por David el Grande Ver Mensaje
Me alegro que funcione.

Sí, es normal que tarde si son varias hojas.

Saludos .
Ey David, o cualquier otro Semi-Dios de Excel...
Si yo tengo la funcion:
Código PHP:
Sub Size()
'
Size Macrocambia el tamaño del texto en todas las pestañas (hojas).
'
'

    
Cells.Select
    With Selection
.Font
        
.Name "Arial"
        
.FontStyle "Normal"
        
.Size 8
        
.Strikethrough False
        
.Superscript False
        
.Subscript False
        
.OutlineFont False
        
.Shadow False
        
.Underline xlUnderlineStyleNone
        
.ColorIndex xlAutomatic
    End With
    Range
("A1").Select
End Sub 
Y quiero que funcione tambien en todas las pestañas (hojas) ...
No se como hacer para incluir este sub ...
Alguna idea?
__________________
ReC Blog =)
  #12 (permalink)  
Antiguo 15/08/2008, 11:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Predeterminar paginas? (excel)

Sería algo como esto:
Código PHP:
Sub Size(Hoja As WorkSheet)
    
With Hoja.Cells.Font 
        
.Name "Arial" 
        
.FontStyle "Normal" 
        
.Size 
        
.Strikethrough False 
        
.Superscript False 
        
.Subscript False 
        
.OutlineFont False 
        
.Shadow False 
        
.Underline xlUnderlineStyleNone 
        
.ColorIndex xlAutomatic 
    End With  
End Sub 
Y puedes volver a usar el mismo bucle que la otra vez, solo cambiando el nombre de la función.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 15/08/2008, 12:07
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Mm gracias David.. pero mira., te cuento lo que yo hice ... capaz hice algo mal, y mi archivito esta tomando demasiados recursos o algo...

Lo que hice fue esto:
Código PHP:
((( CORTE TODO EL CODIGOPARA QUE NO QUEDE TAN LARGO)))
(...)

        .
FitToPagesWide 1
        
.FitToPagesTall 1
    End With
     Aca es cuando coloco la nueva funcion para cambiarle el tama
ño a la letra de las pestañas
    
Hoja.Activate
    Cells
.Select
    With Selection
.Font
        
.Name "Arial"
        
.FontStyle "Normal"
        
.Size 8
        
.Strikethrough False
        
.Superscript False
        
.Subscript False
        
.OutlineFont False
        
.Shadow False
        
.Underline xlUnderlineStyleNone
        
.ColorIndex xlAutomatic
    End With
End Sub 
Y... aunque no lo creas, agregandole eso al codigo antiguo anda todo bien..
A mi me hubiese gustado que le pueda configurar el tamaño de texto, pero es una magia que aun no puedo lograr...

Probe con:
.Size = (Range("A1"))
(suponiendo que en A1 haya un 8) ... y no me funcionó ... :(

Pero ese es otro tema ;)


Gracias DAVID !!!!
__________________
ReC Blog =)
  #14 (permalink)  
Antiguo 15/08/2008, 12:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Predeterminar paginas? (excel)

Me alegra que lo hayas logrado.

Sí, se le puede configurar el tamaño. Prueba con esto:
Código PHP:
.Size Val(Hoja.Range("A1")) 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 15/08/2008, 12:27
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Gracias Pá ... lo logre asi:
Código PHP:
.Size Val(Range("A1")) 
Me daba error si le ponia Hoja. antes...

Ese "val" que le agregas, devuelve el valor tal cual esta en el rango?

Sos un groso David, aprendiste Visual en un curso o de algun libro?
(si es un libro o ebook, please decime cual)...
__________________
ReC Blog =)
  #16 (permalink)  
Antiguo 15/08/2008, 12:34
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Predeterminar paginas? (excel)

Val es para devolver el valor numérico ya que de lo contrario lo que devolverá es una cadena de texto.

¿Cómo aprendí Visual Basic? Ya no lo recuerdo . Por acá, por Internet, leyendo código, y lo principal, programando .

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 28/08/2008, 11:23
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Buenas y santas...

Vuelvo con este tema, porq quiero implementar una nueva mejora a mi Macro...
Pero mis intentos han fallado, y nose como salir de este pozo sin su ayuda.

Dentro del sub principal, yo quiero agregar un "IF" ... (en realidad son 2).
La cuestion es la siguiente; quiero agregar un ChackBox ...
De modo que si el checkbox1 esta activo, cambie la propiedad:
.CenterHorizontally = False
por
.CenterHorizontally = True
Me explico?

Alguna idea?
Porq he probado cosas como:
Código PHP:
If CheckBox1.Value True Then
        
.CenterHorizontally True
End 
If 
Ese codigo lo coloco dentro del "with" (ver codigo de David), y no me funciona...
Me pide "objeto" o algo asi cuando depuro...

Ojala ... algun semidios presente de VBA
__________________
ReC Blog =)
  #18 (permalink)  
Antiguo 28/08/2008, 11:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Predeterminar paginas? (excel)

¿Dónde tienes ese CheckBox?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 28/08/2008, 11:34
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

En el excel.
Es un checkbox que dice: Horizontal
Y otro dice: Vertical

Entonces, si queres la hoja centrada horizontalmente ... tildo esa opcion.
Y si no la tildo, quiero que no se centre...
Es exactamente la opcion de "Configurar pagina"

Pero la quiero en Macro =)
__________________
ReC Blog =)
  #20 (permalink)  
Antiguo 28/08/2008, 11:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Predeterminar paginas? (excel)

Prueba colocando así:
Código PHP:
.CenterHorizontally WorkSheets("Hoja1").CheckBox1.Value 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #21 (permalink)  
Antiguo 28/08/2008, 11:57
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

David, anda perfecto pero si ejecuto el macro en ese excel.
Lo que quiero hacer es tildar "horizontal" en ese excel, y ejecutarlo en OTRO excel...

Probe esto pero no anda:
Código PHP:
.CenterHorizontally Worksheets("[predeterminar.xls]Predeterminar!").CheckBox1.Value 
predeterminar.xls es mi archivo.
Predeterminar es el nombre de la Hoja1.

Salu2 y Gracias
__________________
ReC Blog =)
  #22 (permalink)  
Antiguo 28/08/2008, 12:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Predeterminar paginas? (excel)

Prueba así:
Código PHP:
.CenterHorizontally Workbooks("predeterminar.xls").Worksheets("Predeterminar").CheckBox1.Value 

__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #23 (permalink)  
Antiguo 28/08/2008, 12:28
 
Fecha de Ingreso: mayo-2004
Ubicación: CABA - Argentina
Mensajes: 278
Antigüedad: 19 años, 11 meses
Puntos: 3
Respuesta: Predeterminar paginas? (excel)

Nuuuuuuuuuuuu David, no tienes idea lo que te quiero hermano... jajaja, donde te mando el "Dulce de Leche" ? (regalo de Argentina)...

Sos un groso hermano!!!

Funciono a la perfeccion !!!!
__________________
ReC Blog =)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:03.