Måske kan noget i stil med dette bruges. Makroen tester på højden af celle A80 og hvis den er skjult (= 0) sættes printområdet som ønsket, ellers vælges hele området.
Sub Macro1() If Range("A80").RowHeight = 0 Then ActiveSheet.PageSetup.PrintArea = "$A$1:$K$27,$A$151:$K$268" Else ActiveSheet.PageSetup.PrintArea = "$A$1:$K$268" End If End Sub
naivt sprørrgsmål, hvordan skal jeg tricke makroen - har ingen knap. Og brugerne aner intet om brugen af makroer
Kunne være fedt hvis jeg kigge i celle - lad os sige K1
Hvis der står 0 er begge områder lukket og udskriftsområdet er a1:k237;a238:k268 Hvis værdie er 1 er første område åbent og andet område skjult . så er det A1:K85;A86:K227;A228:K268 Hvis væriden er 2 er andet område åbent og første skjult ... Hvis vidien er 3 er alle råder vist....
Da jeg jeg åbner områderne med knapper, må jeg kunne få et tal smidt en celle ved tryk på knappen ???
Makroen kan laves, så den går i gang, når der skrives i en bestemt celle. Skal det være K1? Jeg er ikke helt sikker på hvad du mener. Er det sådan? 1 i celle K1 giver printområde A1:K85 2 i celle K1 giver printområde A86:K227 3 i celle K1 giver printområde A228:K268
Du skriver kun hvad der skal ske i en situation, men det kan klares med noget i stil med
Private Sub Workbook_BeforePrint(Cancel As Boolean) If Range("K1") = 1 Then ActiveSheet.PageSetup.PrintArea = "$A$1:$K$85,$A$86:$K$227,$A$228:$K$268" End If End Sub
Ja, det er klart. Som jeg skrev i #5 havde du kun angivet hvad der skulle ske i en situation, nemlig hvis K1=1. Du kan rette makroen til så den tager hensyn til andre situationer i stil med nedenstående. Du skal blot selv definere hvad området skal være
Private Sub Workbook_BeforePrint(Cancel As Boolean) If Range("K1") = 1 Then ActiveSheet.PageSetup.PrintArea = "$A$1:$K$85,$A$86:$K$227,$A$228:$K$268" Else ActiveSheet.PageSetup.PrintArea = "Skriv selv det ønskede område"
Private Sub Workbook_BeforePrint(Cancel As Boolean) If ThisWorkbook.Sheets("1.forkalkulation").Range("K1") = 0 Then ActiveSheet.PageSetup.PrintArea = "$A$1:$K$237,$A$238:$K$268" End If
If ThisWorkbook.Sheets("1.forkalkulation ").Range("K1") = 1 Then ActiveSheet.PageSetup.PrintArea = "A1:K84,A85:K237,A238:K268" End If
If ThisWorkbook.Sheets("1.forkalkulation").Range("K1") = 2 Then ActiveSheet.PageSetup.PrintArea = "A1:K187,A188:K237,A238:K268" End If
If ThisWorkbook.Sheets("1.forkalkulation").Range("K1") = 3 Then ActiveSheet.PageSetup.PrintArea = "A1:K84,A85:K177,A178:K248,A249:K268" End If
Det er som om den husker de gamle udskriftsområder og når jeg så har haft første område Vist og bagefter lukker den så ligger sideskiftet i de skjulte område - og bliver der. og så fylder min sammeklappede udskrift 3 sider i stedet for 2
De kære ledere vil ahve flere knapper der skjuler/viser områder Så hvis jeg får dette til at virker - skal der måske en helt anden løsning til
LN
Synes godt om
Ny brugerNybegynder
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.