Crear un formulario Vba para imprimir!!

12/06/2007 - 23:55 por Claudio A. Fuentes D. | Informe spam
Saludos,
Hace un tiempo me acuerdo que participe aqui y en ese momento necesitaba lo
que requiero ahora, un maestro de aqui me enseño hacer un formulario en VBA
que me envia a imprimir las hojas que yo quiero que imprimir sin usar (CTRL
y marcar una por una) era una pequeña aplicación hecha en un formulario que
me tomaba todas las hojas que yo tenia activas y me daba la opcion de
pinchar y despinchar.tambien tenia un boton para imprimir directo en e
mismo formulario y para pinchar todo de una vez o despinchar todo de una
vez..haber si alguien me puede ayudar con esto!!!!

Lo que pasa es que tengo muchas hojas activas..y necesito eso para
automatizar..!!

espero su ayuda!!!
Atte.
CFD.-

Preguntas similare

Leer las respuestas

#1 Juan M
13/06/2007 - 11:14 | Informe spam
"Claudio A. Fuentes D." escribió en el mensaje
Saludos,
Hace un tiempo me acuerdo que participe aqui y en ese momento necesitaba
lo que requiero ahora, un maestro de aqui me enseño hacer un formulario en
VBA que me envia a imprimir las hojas que yo quiero que imprimir sin usar
(CTRL y marcar una por una) era una pequeña aplicación hecha en un
formulario que me tomaba todas las hojas que yo tenia activas y me daba la
opcion de pinchar y despinchar.tambien tenia un boton para imprimir
directo en e mismo formulario y para pinchar todo de una vez o despinchar
todo de una vez..haber si alguien me puede ayudar con esto!!!!

Lo que pasa es que tengo muchas hojas activas..y necesito eso para
automatizar..!!

espero su ayuda!!!
Atte.
CFD.-



Hola Claudio,

A ver si lo siguiente te vale.

Abre el editor de VBA (Alt+F11) e inserta un formulario (userform).

En el formulario inserta los siguientes controles:
un listbox (listbox1)
un boton de comando (commandbutton1)
otro boton de comando (commandbutton2)

Agrega los siguientes códigos:

Para el primer botón (manda imprimir las hojas seleccionadas)

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Worksheets(ListBox1.List(i)).PrintOut
DoEvents
Debug.Print ListBox1.List(i) & "imprimida"
End If
Next i
End Sub

en el segundo boton (para salir de la aplicación)

Private Sub CommandButton2_Click()
Unload Me
End Sub

Al inicializar el formulario carga el listbox

Private Sub UserForm_Initialize()
Dim Hoja As Worksheet

ListBox1.MultiSelect = fmMultiSelectMulti
CommandButton1.Caption = "Imprimir"
CommandButton2.Caption = "Salir"
For Each Hoja In ThisWorkbook.Worksheets
ListBox1.AddItem (Hoja.Name)
Next Hoja

Set Hoja = Nothing
End Sub

Ahora inserta un módulo nuevo

y escribe lo siguiente:

Sub test()
UserForm1.Show
End Sub

Para ejecutarlo, desde excel pulsa Alt+F8 y ejecuta la macro test
Una cosa, haz pruebas con pocas hojas (al principio)
Las hojas ya deben estar configuradas para imprimir como tu quieres.

Un saludo,
Juan
Respuesta Responder a este mensaje
#2 Claudio A. Fuentes D.
13/06/2007 - 14:50 | Informe spam
Muchas Gracias juan..muy agradecido. no sabes lo que lo
necesitaba...!!!!
Funciona a la Perfección!!!!!

Atte.
CFD.-

"Juan M" escribió en el mensaje
news:%

"Claudio A. Fuentes D." escribió en el mensaje
Saludos,
Hace un tiempo me acuerdo que participe aqui y en ese momento necesitaba
lo que requiero ahora, un maestro de aqui me enseño hacer un formulario
en VBA que me envia a imprimir las hojas que yo quiero que imprimir sin
usar (CTRL y marcar una por una) era una pequeña aplicación hecha en un
formulario que me tomaba todas las hojas que yo tenia activas y me daba
la opcion de pinchar y despinchar.tambien tenia un boton para
imprimir directo en e mismo formulario y para pinchar todo de una vez o
despinchar todo de una vez..haber si alguien me puede ayudar con
esto!!!!

Lo que pasa es que tengo muchas hojas activas..y necesito eso
para automatizar..!!

espero su ayuda!!!
Atte.
CFD.-



Hola Claudio,

A ver si lo siguiente te vale.

Abre el editor de VBA (Alt+F11) e inserta un formulario (userform).

En el formulario inserta los siguientes controles:
un listbox (listbox1)
un boton de comando (commandbutton1)
otro boton de comando (commandbutton2)

Agrega los siguientes códigos:

Para el primer botón (manda imprimir las hojas seleccionadas)

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Worksheets(ListBox1.List(i)).PrintOut
DoEvents
Debug.Print ListBox1.List(i) & "imprimida"
End If
Next i
End Sub

en el segundo boton (para salir de la aplicación)

Private Sub CommandButton2_Click()
Unload Me
End Sub

Al inicializar el formulario carga el listbox

Private Sub UserForm_Initialize()
Dim Hoja As Worksheet

ListBox1.MultiSelect = fmMultiSelectMulti
CommandButton1.Caption = "Imprimir"
CommandButton2.Caption = "Salir"
For Each Hoja In ThisWorkbook.Worksheets
ListBox1.AddItem (Hoja.Name)
Next Hoja

Set Hoja = Nothing
End Sub

Ahora inserta un módulo nuevo

y escribe lo siguiente:

Sub test()
UserForm1.Show
End Sub

Para ejecutarlo, desde excel pulsa Alt+F8 y ejecuta la macro test
Una cosa, haz pruebas con pocas hojas (al principio)
Las hojas ya deben estar configuradas para imprimir como tu quieres.

Un saludo,
Juan






Respuesta Responder a este mensaje
#3 Claudio A. Fuentes D.
13/06/2007 - 22:21 | Informe spam
Estimado: Consulta.puedo usar esa mismo forma pero en vez de imprimir,
que se diriga a la hoja que yo seleccione.!!!

Ejemplo..elijo "hoja1" y que el boton diga "Eligir" y se vaya a la "hoja1" y
la pueda visualizar..es lo mismo pero en vez de imprimir que se
diriga.es como un hipervinculo pero más elegante!!!!!

Espero vuestra ayuda!!!

Atte.
Claudio



"Juan M" escribió en el mensaje
news:%

"Claudio A. Fuentes D." escribió en el mensaje
Saludos,
Hace un tiempo me acuerdo que participe aqui y en ese momento necesitaba
lo que requiero ahora, un maestro de aqui me enseño hacer un formulario
en VBA que me envia a imprimir las hojas que yo quiero que imprimir sin
usar (CTRL y marcar una por una) era una pequeña aplicación hecha en un
formulario que me tomaba todas las hojas que yo tenia activas y me daba
la opcion de pinchar y despinchar.tambien tenia un boton para
imprimir directo en e mismo formulario y para pinchar todo de una vez o
despinchar todo de una vez..haber si alguien me puede ayudar con
esto!!!!

Lo que pasa es que tengo muchas hojas activas..y necesito eso
para automatizar..!!

espero su ayuda!!!
Atte.
CFD.-



Hola Claudio,

A ver si lo siguiente te vale.

Abre el editor de VBA (Alt+F11) e inserta un formulario (userform).

En el formulario inserta los siguientes controles:
un listbox (listbox1)
un boton de comando (commandbutton1)
otro boton de comando (commandbutton2)

Agrega los siguientes códigos:

Para el primer botón (manda imprimir las hojas seleccionadas)

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Worksheets(ListBox1.List(i)).PrintOut
DoEvents
Debug.Print ListBox1.List(i) & "imprimida"
End If
Next i
End Sub

en el segundo boton (para salir de la aplicación)

Private Sub CommandButton2_Click()
Unload Me
End Sub

Al inicializar el formulario carga el listbox

Private Sub UserForm_Initialize()
Dim Hoja As Worksheet

ListBox1.MultiSelect = fmMultiSelectMulti
CommandButton1.Caption = "Imprimir"
CommandButton2.Caption = "Salir"
For Each Hoja In ThisWorkbook.Worksheets
ListBox1.AddItem (Hoja.Name)
Next Hoja

Set Hoja = Nothing
End Sub

Ahora inserta un módulo nuevo

y escribe lo siguiente:

Sub test()
UserForm1.Show
End Sub

Para ejecutarlo, desde excel pulsa Alt+F8 y ejecuta la macro test
Una cosa, haz pruebas con pocas hojas (al principio)
Las hojas ya deben estar configuradas para imprimir como tu quieres.

Un saludo,
Juan






Respuesta Responder a este mensaje
#4 Juan M
14/06/2007 - 08:17 | Informe spam
Hola Claudio,

Inserta un nuevo botón en el formulario, haz doble click en él y añade el
siguiente código

Private Sub CommandButton3_Click()
'Activa la hoja
Worksheets(ListBox1.List(ListBox1.ListIndex)).Activate
'Descarga el formulario
Unload Me
End Sub

Un saludo,
Juan

"Claudio A. Fuentes D." escribió en el mensaje
Estimado: Consulta.puedo usar esa mismo forma pero en vez de imprimir,
que se diriga a la hoja que yo seleccione.!!!

Ejemplo..elijo "hoja1" y que el boton diga "Eligir" y se vaya a la "hoja1"
y la pueda visualizar..es lo mismo pero en vez de imprimir que se
diriga.es como un hipervinculo pero más elegante!!!!!

Espero vuestra ayuda!!!

Atte.
Claudio



"Juan M" escribió en el mensaje

"Claudio A. Fuentes D." escribió en el mensaje
Saludos,
Hace un tiempo me acuerdo que participe aqui y en ese momento necesitaba
lo que requiero ahora, un maestro de aqui me enseño hacer un formulario
en VBA que me envia a imprimir las hojas que yo quiero que imprimir sin
usar (CTRL y marcar una por una) era una pequeña aplicación hecha en un
formulario que me tomaba todas las hojas que yo tenia activas y me daba
la opcion de pinchar y despinchar.tambien tenia un boton para
imprimir directo en e mismo formulario y para pinchar todo de una vez o
despinchar todo de una vez..haber si alguien me puede ayudar con
esto!!!!

Lo que pasa es que tengo muchas hojas activas..y necesito eso
para automatizar..!!

espero su ayuda!!!
Atte.
CFD.-



Hola Claudio,

A ver si lo siguiente te vale.

Abre el editor de VBA (Alt+F11) e inserta un formulario (userform).

En el formulario inserta los siguientes controles:
un listbox (listbox1)
un boton de comando (commandbutton1)
otro boton de comando (commandbutton2)

Agrega los siguientes códigos:

Para el primer botón (manda imprimir las hojas seleccionadas)

Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
Worksheets(ListBox1.List(i)).PrintOut
DoEvents
Debug.Print ListBox1.List(i) & "imprimida"
End If
Next i
End Sub

en el segundo boton (para salir de la aplicación)

Private Sub CommandButton2_Click()
Unload Me
End Sub

Al inicializar el formulario carga el listbox

Private Sub UserForm_Initialize()
Dim Hoja As Worksheet

ListBox1.MultiSelect = fmMultiSelectMulti
CommandButton1.Caption = "Imprimir"
CommandButton2.Caption = "Salir"
For Each Hoja In ThisWorkbook.Worksheets
ListBox1.AddItem (Hoja.Name)
Next Hoja

Set Hoja = Nothing
End Sub

Ahora inserta un módulo nuevo

y escribe lo siguiente:

Sub test()
UserForm1.Show
End Sub

Para ejecutarlo, desde excel pulsa Alt+F8 y ejecuta la macro test
Una cosa, haz pruebas con pocas hojas (al principio)
Las hojas ya deben estar configuradas para imprimir como tu quieres.

Un saludo,
Juan










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida