22. maj 2004 - 18:07Der er
15 kommentarer og 1 løsning
Udskrift uden tomme rækker
Hej med jer,
Jeg har lavet et regneark til kørselsregnskab for et år ad gangen.
Ark1: Indtastes alle data for året, og bruges til at lave beregninger.
Ark2 er til udskrift til bogholderiet for udbetaling.
Man indtaster det interval man gerne vil have udskrevet: Feks. 01-05-04 – 10-05-04.
Udskrift:
dato km beskrivelse kr./km kr. i alt 01-05-08 10 ud i det blå 2,98 29,8 02-05-08 03-05-08 10 ud i det blå 2,98 29,8 04-05-08 10 ud i det blå 2,98 29,8 05-05-08 10 ud i det blå 2,98 29,8 06-05-08 07-05-08 10 ud i det blå 2,98 29,8 08-05-08 10 ud i det blå 2,98 29,8 09-05-08 10-05-08 10 ud i det blå 2,98 29,8 __________________________________________________ ialt 208,6
Problemet er at hvis man ikke har kørte alle dage vil der være tomme rækker imellem, og det ser ikke særligt pænt ud.
Findes der en måde at trække data sammen, så man undgår dette?
Public Sub TilUdskrift() Dim Fday As Date, Lday As Date Sheets("Ark2").Activate Cells.Select Selection.Clear ' tømmer ark2 For I = 1 To 5 Sheets("Ark2").Cells(1, I) = Sheets("Ark1").Cells(1, I) Next Columns("A:A").Select Selection.NumberFormat = "m/d/yyyy" ' sætter dato formatet på ark2
Sheets("Ark1").Activate Ladd = Sheets("Ark1").Range("A65536").End(xlUp).Address ' sidste data i ark1 Fday = InputBox(" Indtast start dato (dd-mm-åå)") ' start dato Lday = InputBox(" Indtast slut dato (dd-mm-åå)") ' slut dato For Each C In Sheets("Ark1").Range("A2:" & Ladd).Cells If C >= Fday And C <= Lday Then If C.Offset(0, 1) <> "" Then Trow = Sheets("Ark2").Range("A65536").End(xlUp).Offset(1, 0).Row For I = 1 To 5 Sheets("Ark2").Cells(Trow, I) = Sheets("Ark1").Cells(C.Row, I) Next End If End If Next Trow = Sheets("Ark2").Range("A65536").End(xlUp).Offset(1, 0).Row Sheets("Ark2").Activate Sheets("Ark2").Range("A" & Trow & ":E" & Trow).Select ' streg tegnes With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With
der er en her hvor du kun behøver at rette i toppen, ISide og USide
Public Sub TilUdskrift() Dim Fday As Date, Lday As Date, ISide As String, USside As String ISide = "Ark1" ' navnet på indtastningssiden' USide = "Ark2" ' navnet på udskrivningssiden Sheets("Ark2").Activate Cells.Select Selection.Clear ' tømmer udskrivningssiden For I = 1 To 5 Sheets(USide).Cells(1, I) = Sheets(ISide).Cells(1, I) Next Columns("A:A").Select Selection.NumberFormat = "m/d/yyyy" ' sætter dato formatet på udskrivningssiden
Sheets(ISide).Activate Ladd = Sheets(ISide).Range("A65536").End(xlUp).Address ' sidste data på indtastningssiden Fday = InputBox(" Indtast start dato (dd-mm-åå)") ' start dato Lday = InputBox(" Indtast slut dato (dd-mm-åå)") ' slut dato For Each C In Sheets(ISide).Range("A2:" & Ladd).Cells If C >= Fday And C <= Lday Then If C.Offset(0, 1) <> "" Then Trow = Sheets(USide).Range("A65536").End(xlUp).Offset(1, 0).Row For I = 1 To 5 Sheets(USide).Cells(Trow, I) = Sheets(ISide).Cells(C.Row, I) Next End If End If Next Trow = Sheets(USide).Range("A65536").End(xlUp).Offset(1, 0).Row Sheets(USide).Activate Sheets(USide).Range("A" & Trow & ":E" & Trow).Select ' streg tegnes på udskrivningssiden With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With
Hej Kabbak, Det er jeg vidst lige nød til at teste lidt nærmere, men det var noget i den stil jeg havde tænkt mig. Tak for indsatsen, hvis du vil have pointene så lav lige et svar.
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.