08. september 2008 - 13:14Der er
4 kommentarer og 2 løsninger
VBA - Definer udskriftområde
Hej alle. Jeg har lille regneark, hvor der er nogle udskriftmuligheder. Jeg har en celle (C2), hvor jeg angiver en "periode" i hele år. Jeg har også et skema, som viser en periode på 25 år (A15:Y20). Og ud fra perioden vil jeg gerne definere "Udskrift-området", så jeg kun får defineret området udfra tallet i C2. Hvis der står "10" i C2, skal området defineres til A15:J15).
Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name = "Ark1" Then If [C2] = 25 Then ActiveSheet.PageSetup.PrintArea = "$A$15:$Y$20" If [C2] = 10 Then ActiveSheet.PageSetup.PrintArea = "$A$15:$J$15" End If End Sub
Ser interessant ud. Jeg har ændret lidt på koden, da min plan er, at lave en knap, som definerer området og udskriver. Dette har jeg til at virke nu med inspiration fra dig. Men da det er muligt, at angive 16 forskellige perioder (fra 10 år til 25 år), synes jeg koden bliver lang, idet jeg har lavet 16 stk. if-sætninger. Kan det ikke gøres mere elegant? Det virker dog med de 16 linjer. Send blot et svar.
Man kan også lave et dynamisk udskriftsområde uden VBA
Vælg Navn/Definer i menuen Indsæt Hvis der i forvejen er defineret navnet Udskriftsområde så klik på det, ellers indtast det i Navnefeltet og klik Tilføj I feltet Refererer til indsættes følgende formel:
=FORSKYDNING(Ark1!$A$15;0;0;6;Ark1!$C$2)
Ret evt. Ark1 til aktuel Ret evt 6 til 1 hvis du kun skal have 1 række som udskriftsområde.
Kabbak gav mig et svar på mit konkrete spørgsmål, mens excelent gav et andet forslag, som jeg faktisk synes meget om, da denne løsning er mere enkelt for mig. Jeg forhøjer pointene og vil gerne kvittere Excelent for sit forslag, hvorfor jeg fordeler pointene mellem jer. Excelent - sender du også et svar. Og mange tak til jer begge 2 for nogle gode forslag.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.