busco una macro por favor para imprimir un rango de hojas
pense que esta macro funcionaria pero no es asi ahi envio este codigo, si alguien tiene una mejor opcion enviemela por favor
gracias
Sub impresionparteprofeaiia()
Application.Dialogs(xlDialogPrinterSetup).Show
Sheets("Prof-AIIa (x3)").Select
inicio = Range("h23").Value
fin = Range("i23").Value
ActiveWindow.SelectedSheets.PrintOut From:=inicio, To:=fin, Copies:=1
Sheets("Hoja1").Select
Range("I5").Select
End Sub
No es más fácil seleccionar todas las pestañas (hojas) que quieras imprimir y en el diálogo de impresión seleccionar la opción "Imprimir hojas activas"?
puede ser pero como lo hago con una macro si me puedes ayudar por favor
gracias
¿pero qué tienes en Range("h23") y en Range("i23")?
por cómo lo estás empleando en ActiveWindow.SelectedSheets.PrintOut From:=inicio, To:=fin, Copies:=1
inicio y fin, From y To, deben ser números, porque le estás diciendo imprime de las hojas activas de la página 1 a la 5 por ejemplo
¿Tienes números en esas celdas?
pero un poco antes de esta instrucción tienes esta otra
Sheets("Prof-AIIa (x3)").Select
Así que la única hoja que tienes seleccionada y que vas a imprimir va a ser la hoja "Prof-AIIa (x3)"
¿es esa la única hoja que quieres imprimir?
Lo que te propone Cron es seleccionar varias hojas diferentes (pestañas) del libro, entonces te pregunto otra vez ¿qué quieres imprimir? ¿unas páginas de una única hoja (pestaña) del libro?¿o varias hojas (pestañas) completas del libro?
------
Ya sé Excel, pero necesito más.
gracias por prestar atencion paco
en el range son nuemros que tengo que ingresar osea son las hojas que tengo que imprimir ejm de la 4 a la 15 de 20 hojas . si son nuemeros en esas celdas.
te explico en un una hoja de calculño hay nombres y fechas de cursos que deso imprimir dividido por saltos de hojas para ser imprimidos en formatos pre impresos y solo deseo imprimir las hojas que se necesite cada dia.
o mejor donde te puedoenviar el archivo para que lo analices y si tuvieras una opinion mejor
gracias paco
saludos abeld
Unos comentarios generales sobre lo qeu tratas de hacer:
Para imprimir este tipo de documentos repetitivos, tipo facturas, recibos, ... es mejor utilizar una combinación de correspondencia en Word (también llamada fusión, o mailmerge), o un informe de Access, que repite el mismo documento cambiando los datos.
Hacerlo en Excel es repetir el mismo documento veinte veces, o 200, pero ¿qué pasaría si aparece un dato nuevo? creo que no es el mejor modo de hacerlo.
Dicho esto, sobre tu duda para imprimir páginas ¿por qué no te funciona?
muy sencillo, porque tú tienes los números de páginas que quieres imprimir en las celdas H23 e I23 de la hoja Hoja1, pero el dato lo estás tomando de la hoja activa, que no es la hoja1, sino la hoja Prof-AIIa (x3) y en esa hoja, en la celda H23 no hay nada.
Así que el problema lo tienes en el orden en el que has escrito tus comandos
Sheets("Prof-AIIa (x3)").Select 'primero activas la hoja que quieres imprimir
inicio = Range("h23").Value 'estás leyendo el dato en la hoja equivocada
fin = Range("i23").Value 'estás leyendo el dato en la hoja equivocada
Si no le dices otra cosa, entiende que Range("loquesea") está en la hoja activa
Deberías decirle explícitamente que quieres tomar el dato Inicio y Fin de la hoja1
inicio = Worksheets("Hoja1").Range("h23").Value
fin = Worksheets("Hoja1").Range("i23").Value
------
Ya sé Excel, pero necesito más.
gracias por responder paco
lo voy a probar y luego te comento
saludos
abeld
me sirvio y mucho
gracias Paco
<Tengo otra duda
te envio otro codigo a ver si me apoyas
Sub examenprofeAI()
Application.Dialogs(xlDialogPrinterSetup).Show
With CreateObject("word.application")
.Visible = False
With .Documents.Open("D:\ESCUELA ESCIBAR\profesionalizacion\AI PROFE\examenes profe AI.doc")
.PrintOut
.Close False
End With
.Quit
End With
End Sub
Sub examenprofeAIIb()
Application.Dialogs(xlDialogPrinterSetup).Show
With CreateObject("word.application")
.Visible = False
With .Documents.Open("D:\ESCUELA ESCIBAR\profesionalizacion\AIIB PROFE\EXAMENES AIIb.doc")
.PrintOut
.Close False
End With
.Quit
End With
End Sub
en el primero son solo 3 hojas emprime normal
peroen el segundo qu eson 10 hojas(examenes) me bota error sera por la cantidad de hojas?????? el error que manda es no se puede tener aaceso al objeto
he revisado letra por letra el nombre del archivo y su ubicacion y nada
gracias de antemano paco