Macros para imprimir celdas visibles

Necesito si me pueden ayudar con esto, cree un archivo en el cual en una hoja están los artículos, en la 2º Etiquetas ( la cual uso para imprimir) y en la 1º pongo los códigos que necesito para imprimir, los cuales con fórmulas son llamados desde la 2º hoja (etiquetas) y aparecen allí.. Pero al imprimir me imprime lo que necesito y detrás muchas hojas en blanco, ¿cómo puedo hacer para que no salgan esas hojas en blanco y solo imprima lo que esta visible?

1 respuesta

Respuesta
1

[Hola

Para entenderte bien sería ideal que coloques tu archivo en algún "Drive" y compartas por aquí el enlace. No olvidar explicar con más detalle.

Saludos]

Abraham Valencia

https://www.mediafire.com/file/bf89r2onofbg8n9/Etiquetas1.rar/file

Este es el archivo, solo en la primer hoja(códigos) debes poner los códigos que están en la 3º hoja, si quieres vas a la 3º y copias un código y lo pegas en la primera, vas a ver que en la 2º hoja (etiquetas) ya aparece dicho articulo como quiero que imprima, pero al imprimir no imprime solo ese articulo que acabas de poner allí si no muchas hojas en blanco detrás de ella... y lo que quiero es que imprima solo los artículos que pongo sea uno o 10 o 20, no todas las hojas en blanco también... No se si me explico bien..

Muchas Gracias desde ya por tu tiempo..

[Hola nuevamente

Prueba así:

Dim UltimaFila As Long, x As Long
Let UltimaFila = Worksheets("etiquetas").Cells(Rows.Count, 1).End(xlUp).Row
For x = UltimaFila To 1 Step -1
    If Worksheets("etiquetas").Range("A" & x) <> Empty Then
        Exit For
    End If
Next x
With Worksheets("etiquetas")
    .PageSetup.PrintArea = ""
    .PageSetup.PrintArea = Range("A1:B" & x).Address
    '.PrintOut
End With

Comentas

Abraham Valencia

PD: La línea de impresión está comentada, para imprimir obviamente basta quitar el apostrofe

Hola Abraham..

Muchas Gracias por tu respuesta, pero la verdad que soy muy novato en esto, y me cuesta entender, donde tendría que poner esta macro que me has sugerido,pues no me acepta, me da error..

Muchas Gracias de nuevo por tu ayuda..Saludos..

[Hola nuevamente

Anda al editor de VBA y desde ahí inserta un módulo "standard": Insertar - Módulo. En el módulo standard pega esto:

Sub MacroEtiquetas()
Dim UltimaFila As Long, x As Long
Let UltimaFila = Worksheets("etiquetas").Cells(Rows.Count, 1).End(xlUp).Row
For x = UltimaFila To 1 Step -1
    If Worksheets("etiquetas").Range("A" & x) <> Empty Then
        Exit For
    End If
Next x
With Worksheets("etiquetas")
    .PageSetup.PrintArea = ""
    .PageSetup.PrintArea = Range("A1:B" & x).Address
    '.PrintOut
End With
End Sub

Luego en tu hoja "Códigos" seleccionas tu botón "Imprimir", le das click derecho y en el menú contextual que te sale eliges "Asignar macro", seleccionas "MacroEtiquetas" y le das click al botón "aceptar". Ahora cuando actives el botón, así incrementes/disminuyas tus códigos, la hoja "etiquetas" siempre adaptará el área de impresión. Por ahora no imprimirá, cuando quieras ya imprimir debes borrar el apostrofe de esta línea:

 '. PrintOut

Listo, eso es todo. Si vas a usar macros sugiero leer algo sobre el tema.

Saludos]

Abraham Valencia

Muchas Gracias estimado por tu pronta respuesta, y es así como usted dice,debo leer mas sobre el tema, No tengo títulos ni nada sobre computación, hace unos años empecé a usar excel por mi trabajo y quedé sorprendido de lo que se puede hacer, ahora descubrí las macros y estoy comenzando a leer y la verdad que estoy fascinado con esto, y de tanto que quiero aprender se me mezclan un poco toda la información, es por eso que pedí ayuda a ustedes que saben mucho de esto...

Este Error me salta al ejecutar la macros..

Las macros son especificas, no es que exista una macro para cada cosa; en el caso de lo que yo te he propuesto los datos y su disposición, las hojas, y otros detalles, tienen que ser exactamente iguales a los del archivo que enviaste no necesariamente servirá. Es probable que al copiar/pegar lo que he enviado lo hayas hecho en un archivo que no respeta lo mencionado y por ese motivo da el error (el error 13 si bien tiene un standard puede deberse a varias cosas) que desde este lado de la pantalla no se puede ver/saber.

En todo caso, mejor mira por aquí y trata de entenderlo para que puedas adaptarlo a tu "otro" archivo:

https://drive.google.com/file/d/1r5iodjLRNHW9bQEVB1-brnvtYp4pNVJS/view?usp=sharing 

Abraham Valencia

PD1:Ah, lo olvidé, cuando se envían archivos, siempre hay que hacerlo sin protección de ningún tipo... yo pude desproteger lo que enviaste pero no necesariamente todos podrían

PD2: A veces por cosas casuales una macro es útil en más de un caso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas