Set print area

RAMBO
Mesaje: 449
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Set print area

Mesaj de RAMBO » Joi Noi 05, 2020 8:21 am

Buna ziua.
In cadrul unui cod am pus la un moment dat linia

Cod: Selectaţi tot

ActiveSheet.PageSetup.PrintArea = "$A$1:Table1[#All]"
Si face ce zice ca face. Ideea este ca tabelul cu pricina are bifat Total row, iar cand rulam codul vechi nu se printa randul de total, asa ca am venit cu ideea de mai sus. Problema este ca tabelul original are multe coloane, iar la printare imi scoate n pagini; adica cu tot ce nu a incaput in formatul A4. Cum ar trebui modificat codul de mai sus pentru a putea declara ca PrintArea toate randurile tabelului (numar variabil) inclusiv total row, si totodata sa declar o "limita" pana la ce coloana doresc PrintArea. Presupunem numele de coloane de genul Column1, Column2 etc.
Multumesc.

IPP
Moderator
Moderator
Mesaje: 4028
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Set print area

Mesaj de IPP » Vin Noi 06, 2020 9:01 am

Buna ziua

O varianta ar fi sa ascundeti inainte de tiparire coloanele care nu va intereseaza si sa le reafisati dupa tiparire.
Evident ca asta presupune ca acel table ramane intr-o pozitie fixa si astfel, de exemplu coloana E din Excel ar corespunde Column5 din table daca acesta din urma incepe de pe coloana A.

Nu tin minte sa fi vazut undeva ceea ce doriti ca fiind setabil direct in PrintArea

IP

RAMBO
Mesaje: 449
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Re: Set print area

Mesaj de RAMBO » Mie Noi 11, 2020 9:43 am

Pai exact asa si procedez (via VBA); adica codul original face ce face pe acolo, apoi ascunde coloanele care se doresc ascunse, apoi urma linia

Cod: Selectaţi tot

ActiveSheet.PageSetup.PrintArea = "$A$1:Table1
care nu printa randul de total row. Asa ca am modificat cu acel [#All] la sfarsit, dar acum am problema ca imi scoate print la tot tabelul, chiar daca sunt coloane ascunse. Nu sunt sigur de ce se intampla asta, dar asa face.

IPP
Moderator
Moderator
Mesaje: 4028
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Set print area

Mesaj de IPP » Mie Noi 11, 2020 10:28 am

Buna ziua

Poate daca veti pune la un moment dat si un fisier exemplu se vor putea incerca si alte workaround-uri. De exemplu, tot via macro:
-identificat adresa ultimei celule din tabel (chiar daca aceea e pe randul cu totaluri)
-anulat orice setare print area anterioara
-setat print area noua care ar arata "normal", de ex. ActiveSheet.PageSetup.PrintArea = "$A$1:$F$100" , in functie de ultima adresa de celula
-ascundere coloane inutile
-printare
-reafisare coloane
-[optional]: resetare print area

IP

RAMBO
Mesaje: 449
Membru din: Mie Noi 25, 2009 2:17 pm
Localitate: Pitesti

Re: Set print area

Mesaj de RAMBO » Vin Noi 20, 2020 8:42 am

Mda. Pana la urma i-am dat de cap. Din pacate fisierul original a devenit foarte incarcat si "scapa" tot felul de lucruri. A mers asa cum trebuia sa mearga, adica codul mai intat ascunde toate coloanele nedorite, printare cu print area, apoi le reafiseaza. Doar ca eu aveam impresia ca ascunsesem toate coloanele, cand de fapt nu era asa.

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”