Avatar billede nemlig Professor
08. september 2008 - 13:14 Der 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).
Avatar billede kabbak Professor
08. september 2008 - 16:14 #1
Denne i ThisWorkbook modulet, ret selv arknavnet.

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
Avatar billede nemlig Professor
10. september 2008 - 23:30 #2
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.
Avatar billede excelent Ekspert
11. september 2008 - 06:21 #3
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.
Avatar billede kabbak Professor
11. september 2008 - 07:51 #4
et svar ;-))
Avatar billede nemlig Professor
11. september 2008 - 10:43 #5
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.
Avatar billede excelent Ekspert
11. september 2008 - 10:49 #6
ok velbekom :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester