Avatar billede mp67533 Nybegynder
16. august 2006 - 13:09 Der 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

På forhånd mange tak for hjælpen...

Vh

martin
Avatar billede excelent Ekspert
16. august 2006 - 13:52 #1
Range("A1", ActiveCell.SpecialCells(xlLastCell)).Select
Avatar billede excelent Ekspert
16. august 2006 - 13:56 #2
'Selection.PrintOut
Selection.PrintPreview
Avatar billede mp67533 Nybegynder
16. august 2006 - 14:42 #3
Hej Excelent,

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...
Avatar billede jkrons Professor
16. august 2006 - 15:26 #4
Hvis der ikke er andet i regnearket bør dette kunne fungere:

Sub Udskriv()
    ActiveSheet.UsedRange.Select
    Selection.PrintOut
End Sub
Avatar billede mp67533 Nybegynder
16. august 2006 - 15:30 #5
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....
Avatar billede mp67533 Nybegynder
16. august 2006 - 16:18 #6
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...

Vh

Martin
Avatar billede excelent Ekspert
16. august 2006 - 16:33 #7
ok velbekom
Avatar billede excelent Ekspert
16. august 2006 - 18:57 #8
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
Avatar billede excelent Ekspert
21. august 2006 - 10:02 #9
du skal blot markere box med mit navn, og klik accepter
Avatar billede mp67533 Nybegynder
21. august 2006 - 11:06 #10
Undskyld mange gange - jeg var af den overbevisning at jeg havde svaret... Jeg endte med at benytte kode nr. 2, som virkede perfekt efter hensigten...

Mange tak...

Er der mulighed for at jeg kan give dig flere point, som en undskyldning for at have "fejlet" i at give dig dine point...
Avatar billede excelent Ekspert
21. august 2006 - 11:43 #11
helt ok no problemo point nok her.:-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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