Excel - Imprimir con un contador

   
Vista:

Imprimir con un contador

Publicado por FernandoML (19 intervenciones) el 05/10/2009 18:51:58
Hola a todos, espero me podais ayudar.

Estoy creando una hoja de excel donde en la casilla A1 tengo como valor el 1 y en la casilla B1
tengo como valor 100.

Lo que estoy intentando hacer es que a traves de una macro, sume 1 a la casilla A1 hasta llegar al
valor que tiene la casilla B1, pero cada vez que lo incremento me gustaria enviarlo a la impresora sin que aparezca el molesto cartelito de imprimiendo. ¿Se puede hacer?.

He intentado crear las 100 hojas con la macro para despues enviarlo de un solo tiron a la impresora
pero excel tiene una limitación de 50 hojas.

El excel que estoy usando por si sirve de algo es el 2003.

Muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imprimir con un contador

Publicado por frany (58 intervenciones) el 05/10/2009 22:59:20
Seria bueno que pegaras la parte del codigo que imprime, para ver que se puede hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir con un contador

Publicado por FernandoML (19 intervenciones) el 05/10/2009 23:37:20
Antes de nada, muchas gracias por contestarme frany. El codigo que estoy utilizando es el siguiente:

For Cont = 1 To Range("B1").Value
Sheets("Plantilla").Select
Sheets("Plantilla").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Cont
Sheets("Plantilla").Select
Range("A1").Value = Range("A1").Value + 1
Next
ActiveWorkbook.PrintOut Copies:=1

Como podeis ver el codigo solamente incrementa la casilla A1 de 1 en 1 hasta llegar al
valor que tiene B1 y al mismo tiempo crea una hoja nueva a medida que incrementa el valor con el nombre del contador (1,2,3,etc...)

Una vez creadas todas las hojas, las envio a la impresora predeterminada.

El problema es que usando este codigo, solamente puedes crear hasta 50 hojas en excel, al menos eso es lo que me dice el EXCEL 2003. y si la cantidad de la casilla B1 es mayor me lanza un error y no me crea el resto de las paginas. no se como hacer para crear todas las paginas y posteriormente enviarlas todas a la impresora.

Muchas gracias de nuevo por contestar, espero haberte dado toda la informacion que necesites.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Imprimir con un contador

Publicado por JuanC (1053 intervenciones) el 06/10/2009 00:12:28
una posibilidad es ir copiando e imprimiendo de a una por vez...
otra es ir eliminando las hojas impresas...
otra es crear libros nuevos...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir con un contador

Publicado por frany (58 intervenciones) el 06/10/2009 23:47:13
Ni que decir tiene que tras la contestación del amigo JuanC no me molesto en buscar soluciones, puesto que las que el da serán razonadamente correctas.

Un saludo JuanC y como siempre gracias por tu ayuda desinteresada.
Un saludo a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir con un contador

Publicado por FernandoML (19 intervenciones) el 07/10/2009 16:08:38
Bueno por fin he conseguido hacerlo sin tener que crear otros libros de excel espero que asi
de alguna idea y ayudar a alguien con el codigo.

Dim Rep As Integer 'Variable que controla las repeticiones.
Dim Cont As Integer 'Variable contador para los bucles For.
Dim Cont2 As Integer 'Variable segundo contador para otros bucles for

Dim Repeticiones As Integer: Repeticiones = Fix(Sheets(1).Range("I14") / 25)
Dim Faltan_por_Imprimir As Integer

Faltan_por_Imprimir = Sheets(1).Range("I14") - (Repeticiones * 25)

Dim Ristras_Ultima_Orden As Integer

Ristras_Ultima_Orden = Range("I12").Value - ((Fix(Range("I12").Value / Range("F12").Value))
* Range("F12").Value) 'Calculo cuantas ristras tiene la ultima orden.

Sheets(1).Range("F14").Value = 1 'Inicializo el valor de Honja No a 1

Application.ScreenUpdating = False 'Elimino el refresco de pantalla
Sheets(3).Visible = True 'Muestro la plantilla
Sheets(1).Visible = False 'Oculto la hoja "Hoja 1"
Sheets(2).Visible = False 'Oculto la hoja "Hoja 2"

For Cont = 1 To Repeticiones
If Cont = 1 Then
For Rep = 1 To 25
Sheets("Plantilla 125").Select
Sheets("Plantilla 125").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = Rep
Sheets("Plantilla 125").Range("F14").Value = Range("F14").Value + 1
Next
Sheets(3).Visible = False
ActiveWorkbook.PrintOut Copies:=1
ElseIf Cont > 1 Then
For Rep = 1 To 25
Sheets(Rep + 3).Range("F14").Value = Sheets(Rep + 3).Range("F14").Value + 25
Next
Sheets(3).Visible = False
ActiveWorkbook.PrintOut Copies:=1
End If
Next Cont

Sheets(1).Visible = True
Sheets(2).Visible = True

For Cont = 4 To Sheets.Count
Sheets(Cont).Visible = False
Next
Application.ScreenUpdating = True 'Elimino el refresco de pantalla

Como podeis ver primero creo las primeras 25 hojas y despues lo unico que hago es incrementar la celda de las hojas que he creado en 25 mas para no tener que crear nuevas
hojas.

Aunque soy bastante nuevo con este tema, espero haberme explicado bien y haber ayudado a alguien con este codigo

De nuevo muchas gracias a todos los que habeis contestado y espero poder ayudaros en el futuro con algun problemilla con el codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar