23. januar 2006 - 18:58
Der er
20 kommentarer og 1 løsning
Angiv Udskrift område med makro via Current.Region?
hej experter Jeg har et Journal Ark som kan udskrives. Størst mulig område med data er B3:J234 Område med data ændres med tiden, men jeg vil kun have vist/printet den del med data i. Current.Region skal teste på kolonne E Hvem kan hjælpe ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
23. januar 2006 - 19:10
#1
Indsæt dette i et modul Sub Udskriv() Dim Tom As Boolean, VL As Variant, T As Integer, R As Integer, I As Integer, AD As Integer Application.ScreenUpdating = False R = Range("E1").SpecialCells(xlLastCell).Row AD = Range("E1").SpecialCells(xlLastCell).Column For I = 1 To R Tom = True VL = Range(Cells(I, 1), Cells(I, AD)).Value For T = 1 To AD If VL(1, T) <> "" Then Tom = False Exit For End If Next If Tom = True Then Rows(I).EntireRow.Hidden = True End If Next ActiveSheet.PrintOut Cells.EntireRow.Hidden = False Application.ScreenUpdating = True End Sub
23. januar 2006 - 19:12
#2
Med CurrentRegion vil det vist være noget i den her retning. Worksheets("Journal Ark").Activate ActiveSheet.PageSetup.PrintArea = ActiveCell.CurrentRegion.Address Men jeg tror umiddelbart ikke at CurrentRegion kan begrænses til kun at teste på en kolonne, men jeg ved det ikke med sikkerhed.
23. januar 2006 - 19:17
#3
Jeg prøver lige... vender tilbage
23. januar 2006 - 19:28
#5
Range("E1").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select ActiveSheet.PageSetup.PrintArea = Selection.Address
23. januar 2006 - 19:33
#6
rosco : jeg har forsøgt med dit forslag, fik fejl i linie : ---- R = Range("E1").SpecialCells(xlLastCell).Row jeg har ikke printer tilsluttet denne pc, kan det være problemet?
23. januar 2006 - 19:39
#7
kabbak : dit forslag ser dejlig kort ud prøver lige den også
23. januar 2006 - 19:57
#8
Ikke umuligt. Jeg har selv brugt koden, med succes.
23. januar 2006 - 20:05
#9
kabbak : jeg fik det ikke til at virke. Hvis du har tid og lyst, kunne jeg sende filen til dig jeg sætter mine sidste point på højkant hvis du er frisk på det v.h.Poul
23. januar 2006 - 20:06
#10
Det er forresten din kode Kabbak: Var virkelig brugbar. :-)
23. januar 2006 - 20:07
#11
hvilken version af excel bruger du ? kabbak snabela tiscali punktum dk
23. januar 2006 - 20:08
#12
2003
23. januar 2006 - 20:09
#13
ok, marker lige det område du vil have som udskriftsområde, med en farve, inden du sender
23. januar 2006 - 21:44
#14
Jeg går ud fra at der din "makro1", der skal arbejdes med. Fordi det ikke lykkedes for dig, var at du havde sat scrollArea på, det skal fjernes for at hoden kan køre, så det fjernes først og sættes på igen. Jeg har opdateret din kode også. Sub Makro1() 'Journal ' Makro indspillet 13-01-2006 af POUL MADSEN info.Show DoEvents Application.ScreenUpdating = False Worksheets("Journal").Activate Worksheets("Journal").ScrollArea = "" Range("B4:J233").Select Selection.ClearContents For i = 1 To 10 Worksheets("Side " & i).Range("B5:J27").Copy Worksheets("Journal").Range("C65536").End(xlUp).Offset(1, -1).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Next Range("a1").Select Worksheets("Journal").Activate info.Hide '---------------------------------------- Range("B3").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select ActiveSheet.PageSetup.PrintArea = Selection.Address Worksheets("Journal").ScrollArea = "$A$1:$A$235" Application.ScreenUpdating = True ActiveWindow.SelectedSheets.PrintPreview Worksheets("Forside").Activate Range("m7").Select End Sub
23. januar 2006 - 21:47
#15
denne linie gør, at den finder det sidste bilagsnummer i rækken og placerer sig en til venstre og 1 nedenunder, så skulle der ikke være tomme imellem. Worksheets("Journal").Range("C65536").End(xlUp).Offset(1, -1).Select
23. januar 2006 - 21:51
#16
nææ, der skal lige kikkes lidt
23. januar 2006 - 22:22
#17
så skulle det virke, jeg havde ikke set at du havde sum nederst. Sub Makro1() 'Journal ' Makro indspillet 13-01-2006 af POUL MADSEN Dim RW As Long info.Show DoEvents Application.ScreenUpdating = False Worksheets("Journal").Activate Worksheets("Journal").ScrollArea = "" Range("B4:J233").ClearContents Range("B4:J233").Font.Bold = False For i = 1 To 10 Worksheets("Side " & i).Range("B5:J27").Copy Worksheets("Journal").Range("C65536").End(xlUp).Offset(1, -1).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Next Range("a1").Select Worksheets("Journal").Activate info.Hide '---------------------------------------- RW = Range("C65536").End(xlUp).Offset(1, 3).Row ' Sætter sum under Range("C65536").End(xlUp).Offset(1, 3).FormulaR1C1 = "=SUM(R[-" & RW - 3 & "]C:R[-1]C)" Range("C65536").End(xlUp).Offset(1, 4).FormulaR1C1 = "=SUM(R[-" & RW - 3 & "]C:R[-1]C)" Range("C65536").End(xlUp).Offset(1, 6).FormulaR1C1 = "=SUM(R[-" & RW - 3 & "]C:R[-1]C)" Range("C65536").End(xlUp).Offset(1, 7).FormulaR1C1 = "=SUM(R[-" & RW - 3 & "]C:R[-1]C)" Range(Cells(RW + 1, 2), Cells(RW + 1, 7)).Font.Bold = True ActiveSheet.PageSetup.PrintArea = "B3:J" & RW Worksheets("Journal").ScrollArea = "$A$1:$A$235" Application.ScreenUpdating = True ActiveWindow.SelectedSheets.PrintPreview Worksheets("Forside").Activate Range("m7").Select End Sub
23. januar 2006 - 22:26
#18
ret lige Range(Cells(RW + 1, 2), Cells(RW + 1, 7)).Font.Bold = True til Range(Cells(RW, 6), Cells(RW, 10)).Font.Bold = True
23. januar 2006 - 22:30
#19
ok jeg prøver kabbak
23. januar 2006 - 22:43
#20
perfekt kabbak mange tak for hjælpen v.h.Poul jeg opretter lige et spørgsmål til de andre point husk også det andet spørgsmål "tomme linier i datavalider"
23. januar 2006 - 22:45
#21
ok et svar, der er point nok her ;-))
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig