Jump to content

Libro de excel se vuelve blanco al imprimir


6luishao6

Recommended Posts

Buenas tengo un problema con una macro, cuando mando a impimir (ctrl+p) imprime todo bien dejo de trabajr o de usar el libro de trabajo por unos 10 minutos o mas y se vuelve todo blanco el libro, cuando entro a otras hojas todas me salen en blanco, ojo no se cuelga el libro ni se bloquea, solo se vuelve blanco todas las hojas y el libro.

Este esta es la macro que estoy utilizando:

-----------------------------------------

Sub Imprimir()

Resultado = MsgBox("¿Estás seguro que deseas imprimir la hoja?.", vbQuestion + vbOKCancel, "Registro Pedagógico v5.2 By Luish@o")

If Resultado = vbOK Then

Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")

MsgBox ("DEBES DE CONFIGURAR LAS HOJAS; SI ES NECESARIO, PARA LUEGO PROCEDER CON LA IMPRESIÓN:" & Chr(13) & _

" " & Chr(13) & _

" * Margen Superior." & Chr(13) & _

" * Margen Inferior." & Chr(13) & _

" * Margen Derecho." & Chr(13) & _

" * Margen Izquierdo." & Chr(13) & _

" * Alto." & Chr(13) & _

" * Ancho." & Chr(13) & _

" * Orientación de Pagina: (Orizontal, Vertical)." & Chr(13) & _

" * Tamaño de Hoja: (Carta, Oficio)." & Chr(13) & _

" ¿Quieres pulsar Aceptar?"), _

vbCritical, "Registro Pedagógico v5.2 By Luish@o"

Else

MsgBox "Haz cancelado la impresión de la hoja.", vbCritical, "Registro Pedagógico v5.2 By Luish@o"

End If
End Sub

-----------------------------------------

gracias

Link to post
Share on other sites
Hace 7 minutos , 6luishao6 dijo:

Buenas tengo un problema con una macro, cuando mando a impimir (ctrl+p) imprime todo bien dejo de trabajr o de usar el libro de trabajo por unos 10 minutos o mas y se vuelve todo blanco el libro, cuando entro a otras hojas todas me salen en blanco, ojo no se cuelga el libro ni se bloquea, solo se vuelve blanco todas las hojas y el libro.

Este esta es la macro que estoy utilizando:

-----------------------------------------

Sub Imprimir()

Resultado = MsgBox("¿Estás seguro que deseas imprimir la hoja?.", vbQuestion + vbOKCancel, "Registro Pedagógico v5.2 By Luish@o")

If Resultado = vbOK Then

Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")

MsgBox ("DEBES DE CONFIGURAR LAS HOJAS; SI ES NECESARIO, PARA LUEGO PROCEDER CON LA IMPRESIÓN:" & Chr(13) & _

" " & Chr(13) & _

" * Margen Superior." & Chr(13) & _

" * Margen Inferior." & Chr(13) & _

" * Margen Derecho." & Chr(13) & _

" * Margen Izquierdo." & Chr(13) & _

" * Alto." & Chr(13) & _

" * Ancho." & Chr(13) & _

" * Orientación de Pagina: (Orizontal, Vertical)." & Chr(13) & _

" * Tamaño de Hoja: (Carta, Oficio)." & Chr(13) & _

" ¿Quieres pulsar Aceptar?"), _

vbCritical, "Registro Pedagógico v5.2 By Luish@o"

Else

MsgBox "Haz cancelado la impresión de la hoja.", vbCritical, "Registro Pedagógico v5.2 By Luish@o"

End If
End Sub

-----------------------------------------

gracias

Sub Imprimir()

    Range("A1:I19").Select
    Range("I19").Activate
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.7)
        .RightMargin = Application.InchesToPoints(0.7)
        .TopMargin = Application.InchesToPoints(0.75)
        .BottomMargin = Application.InchesToPoints(0.75)
        .HeaderMargin = Application.InchesToPoints(0.3)
        .FooterMargin = Application.InchesToPoints(0.3)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperLetter
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 0
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Range("a1").Select
    Application.PrintCommunication = True
End Sub

Link to post
Share on other sites
Hace 14 minutos , 6luishao6 dijo:

El código que me mandaste ya está con medidas, tamaño de la hoja?. No sé si puede explicarme más. En qué diferencia mi macro con tu macro. Y del por qué se me pone en blanco el libro una vez impresa cualquier hoja.

Gracias

La que yo te envié puedes establecer el rango en la primera parte 

Sub Imprimir()

    Range("A1:I19").Select ' AQuí es donde puedes seleccionar el rano que deseas imprimir

 

La macro que tu tienes, lo que hace es activar la impresión, pero no configuras el tamaño de la hoja, la escala de impresión; sino que simplemente activas la impresión.

En la que yo te envié, tiene la ocnfiguración ya mencionada...

Link to post
Share on other sites

Esitimado, a mi no me ocurre eso que ati de ponerse en blanco la pantalla y las hojas.

Lo que me pasa con tu código es que me aparece error el siguiente código (el cual lo elimino para poder ejecutarlo)

MsgBox ("DEBES DE CONFIGURAR LAS HOJAS; SI ES NECESARIO, PARA LUEGO PROCEDER CON LA IMPRESIÓN:" & Chr(13) & _

" " & Chr(13) & _

" * Margen Superior." & Chr(13) & _

" * Margen Inferior." & Chr(13) & _

" * Margen Derecho." & Chr(13) & _

" * Margen Izquierdo." & Chr(13) & _

" * Alto." & Chr(13) & _

" * Ancho." & Chr(13) & _

" * Orientación de Pagina: (Orizontal, Vertical)." & Chr(13) & _

" * Tamaño de Hoja: (Carta, Oficio)." & Chr(13) & _

" ¿Quieres pulsar Aceptar?"), _

vbCritical , "Registro Pedagógico v5.2 By Luish@o"

 

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.



  • Crear macros Excel

  • Posts

    • Hola Cracks! De nuevo necesitando de su apoyo, Tengo una tabla que me muestra el Fill Rate de ordenes de venta  que obtengo por la siguiente formula: Cantidad facturada/Cantidad de Pedido Cuando en una misma fila esta toda la cantidad facturada por toda la cantidad del pedido la formula corre bien y nos da el 100% ,el problema está cuando  una cantidad de pedido se divide entre varias cantidades facturadas se debe dividir todas por la misma cantidad de pedido,  se vería de esta forma: Cantidad de Pedido   | Cantidad Facturada  | Fill Rate 858                                  396                                46% 0                                      129                                 15% 0                                      333                                 39%   El tema es que antes de hacer la división tiene que que comprobar que la cantidad de pedido es diferente a 0 , si es 0 debe correr un ciclo for que le reste -1  a la fila hasta que encuentre la fila de arriba (858) con un valor numérico para poder hacer la división y se le asigne un %. Les dejo mi archivo con un link por We Transfer, espero me puedan ayudar. https://we.tl/t-FM5vlSr9sm En la hoja BD es tal cual esta la tabla antes de aplicarle la macro. En la hoja BD Solucion1de2 se aplica la primer corrección que seria ligar la cantidad facturada a la cantidad de pedido que le corresponde y no dividirlo por 0. En la hoja BD Solucion2de2 se aplica la segunda corrección que seria eliminar todas las filas cuyo Fill Rate sea mayor a 100% porque seria un valor irreal.
    • Hola Ramon Hay variedad de patrones y formas, para obtener acumulados en DAX, pero también comentar que depende de modelado que se tiene  Un ejemplo puede ser  AcumuladoVentas = CALCULATE ( [TotalVentas]; FILTER ( ALL ( Calendario ); Calendario[Fecha] <= MAX ( Calendario[Fecha] ) ) ) [TotalVentas]: es la medida de sumar, pero puede ser cualquier medida que tengas para tu acumulado   Saludos! 
    • Aqui esta el archivo en excel y una de las planillas en word en las que la macro sustituye los datos. Datos_Licitaciones.xlsm Cotizacion.docx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy