16. august 2006 - 13:09Der er
10 kommentarer og 1 løsning
Makro: udskriv bestemte celler (med indhold)
Hej
Jeg vil gerne lave en makro som kun udskriver de rækker som har indhold. Dvs. der er nogle kolonner som skal udskrives "hele vejen" ned til der ikke er mere i rækkerne.
Eks.
a b c d e
1 1 1 1 1 1 2 3 4 5 3 6 3 2 2 5 7 4 5 4 6 7 7 7 6
I ovenstående skal makroen så udskrive række 1 => 5 for kolonne a => e
Jeg der skal altså være plads til at man løbende kan "tilføje" flere rækker, og derved også udskrive disse...
Jeg har prøvet at lave en funktion som markere sidste række - men kan ikke finde ud af at integrere den i print funktionen.... ----- Sub udskriv() ActiveSheet.PageSetup.PrintArea = ("$A$6:SelectLastCellInColumn "Q"") ActiveSheet.PrintPreview
Function SelectLastCellInColumn(Col As Variant) Cells(Cells.Rows.Count, Col) _ .End(xlUp).Offset(0, 0).Select End Function ----- Jeg vil herved have den til at vælge udskriftsområdet til at være fra A6:"den celle som vælges i funktionen "selectlastcellincolumn"
Jeg vil sætte meget stor pris på at få hjælp til hvorledes man kan lave denne slags "dynamiske" udskriftsområde
Så vidt jeg kan se så hjælper den ikke helt på mit problem, i det den markerer hele dokumentet... Den skal kun markere til kolonne Q og så skal den markere alle de rækker hvori der er tekst... Altså den vælger fint til kolonne Q - men den tager så alle rækker med, hvor den kun skal tage til f.eks. række 100...
Der er andet i arket - det er f.eks. først fra række 6 og nedefter der skal printes - herudover er der gitter i flere af de tomme felter - det er altså kun de felter hvori der er en værdi i række som skal printes....
Jeg fik det til at virke ved at bruge Excelents metode...
Dog med en enkel lille tilføjelse...
Sub udskriv() Range("A5:R6", ActiveCell.SpecialCells(xlLastCell)).Select Selection.PrintPreview End Sub
Så mange tak for hjælpen - jeg skal dog bruge lidt mere hjælp idet, det er mit første indlæg og jeg kan derfor ikke lige finde ud af at tildele point...
Så vidt jeg kan se så skal excelent lige skrive et svar - så jeg kan give dig dine point...
Prøv evt. denne Sub Mark() x = Cells(65536, 1).End(xlUp).Row For c = 2 To 17 If x < Cells(65536, c).End(xlUp).Row Then x = Cells(65536, c).End(xlUp).Row Next Range("A6:Q" & x).Select: Selection.PrintPreview End Sub
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.