Área de impresión

Estimados expertos:
Como mis conocimientos de VBA son más bien escasos tengo un problemilla que no se resolver.
Me he hecho un pequeño código para imprimir una hoja de excel que es una tabla dinámica,(resumen de ventas por vendedor) como suele suceder en estos casos uno tiene 9 lineas otro 15 y otro 25, lo que quiero es que siempre me imprima hasta la ultima linea que tenga algo escrito, pues aquí esta el problema por que justo al lado de la tabla tengo una columna con un condicional donde calculo el % de diferencia entre los dos años ( =SI(C20<>"";SI(D20<>"";SI(C20=0;100%;SI(D20=0;-100%;(D20/C20)-100%));-100%);""))en el código que os adjunto veréis que lo que busco es la ultima celda activa y excel entiende como activas todas las celdas que tienen este condicional,(¿389) sabría alguien como debo proceder para que busque la ultima escrita y no la ultima activa?
Mil gracias de Antemano
----------------------------------------
Sub AreaDimpresio()
'Netejo l'area
ActiveSheet.PageSetup.PrintArea = ""
'Selecciono A1
rango1 = Range("A1").Select
rango1 = Selection.Address
'selecciono l'ultima
rango2 = Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
rango2 = Selection.Address
' omplo l'area d'impresio i mostro el missatge
Ans = MsgBox("Se va a imprimir el rango" & " " & rango2, vbYesNo)
' pregunto si o no
'si es "si" imprimeixo
If Ans = vbYes Then
ActiveSheet.PageSetup.PrintArea = rango1rango2
' Imprimeix el rango
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'si es "no" borro l'area
Else
ActiveSheet.PageSetup.PrintArea = ""
End If
End Sub

1 respuesta

1
Respuesta de
Hola:
Si sabés cuál es tu última columna sin considerar la que tiene el condicional, debieras utilizar este dato.
Las instrucciones que reemplazan a la selección del rango2:
'selecciono l'ultima
fila = Range("I65536").End(xlUp).Row
rango2 = Range(Selection, Cells(fila, 9)).Select
Luego sigue la tuya:
rango2 = Selection.Address
También ajustá la instrucción de impresión:
ActiveSheet.PageSetup.PrintArea = rango2
En este ejemplo estoy considerando que la últ col es I
Saludos y si queda algo pendiente escribime nuevamente.
Elsa
http://es.geocities.com/lacibelesdepunilla/macros
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje