19. juni 2003 - 12:26Der er
16 kommentarer og 1 løsning
Sammensætning af worksheets til et
Hvis man nu har et regneark, med en masse beregninger som består af en masse worksheets (fanerne forneden går jeg ud fra hedder det).
Jeg vil gerne have det hele sat sammen på et langt worksheet, f.eks. at man tager det første tomme worksheet, sætter worksheet 1 inde, neden under worksheet 2 osv. Kan det lade sig gøre at automatisere - som det er idag, er vi nødt til at behandler hvert ark for sig, og sætte det sammen til sidst.
Du kan godt sætte ark sammen til et, men hvorfor ? ofte vil det være mere overskueligt hvis det er på flere ark. Du må lige beskrive lidt mere om din opgave, og dit problem med flere ark.
Det skyldes, at vi har et regneark vi bruger til tilbud. Man indtaster de data som er nødvendige. Derefter skal det laves om til en pdf fil. I dag køres det ved at konvertere hvert ark til en selvstændig pdf fil og så sætte dem sammen til sidst. Jeg er blevet spurgt (af en af sælgerne) om jeg ikke kan finde en løsning på dette. Den løsning som de foreslog var at sætte alle arkene samme til et, som så kunne laves til pdf. Var det forklaring nok?
Public Sub FlytTilEtArk() Dim Detteark As String, IndsætteRække As Integer, R As Integer, K As Integer _ , A As Integer A = 1 Detteark = ActiveSheet.Name For Each Ws In Worksheets If Detteark <> Ws.Name Then Worksheets(Ws.Name).Select R = ActiveCell.SpecialCells(xlLastCell).Row K = ActiveCell.SpecialCells(xlLastCell).Column Worksheets(Ws.Name).Range(Cells(1, 1), Cells(R, K)).Select Selection.Copy Sheets(Detteark).Select Range("A" & A).Select ActiveSheet.Paste A = A + R + 1 End If Next Ws End Sub
Det virker som smurt!! Der er helt sikkert point for den. Jeg har to tillægsspørgsmål (som selvf. giver tillægspoint) 1. Hvis jeg har en speciel celle bredde på cellerne i arkene, bibeholdes disse ikke i kopieringen, men følger blot standard bredde. Er der nogen måde at få dem til det, eller hvad hedder funktionen til at autojustere cellebredde. 2. Kan man bede den tilpasse så når man udskriver, fylder ark 1 den første side, ark 2 den anden etc.? Er der nogen der har nogle bud på det (Jeg ved godt jeg er vanskelig - men excel er ikke lige mit område) :)
Public Sub FlytTilEtArk() Dim Detteark As String, R As Integer, K As Integer _ , A As Integer A = 1 Detteark = ActiveSheet.Name For Each Ws In Worksheets If Detteark <> Ws.Name Then Worksheets(Ws.Name).Select R = ActiveCell.SpecialCells(xlLastCell).Row K = ActiveCell.SpecialCells(xlLastCell).Column Worksheets(Ws.Name).Range(Cells(1, 1), Cells(R, K)).Select Selection.Copy Sheets(Detteark).Select Range("A" & A).Select ActiveSheet.Paste A = A + R + 1 End If Next Ws Cells.Select ' JUSTER BREDDE PÅ KOLONNER Cells.EntireColumn.AutoFit End Sub
Public Sub FlytTilEtArk() Dim Detteark As String, R As Integer, K As Integer _ , A As Integer A = 1 Detteark = ActiveSheet.Name For Each Ws In Worksheets If Detteark <> Ws.Name Then Worksheets(Ws.Name).Select R = ActiveCell.SpecialCells(xlLastCell).Row K = ActiveCell.SpecialCells(xlLastCell).Column Worksheets(Ws.Name).Range(Cells(1, 1), Cells(R, K)).Select Selection.Copy Sheets(Detteark).Select Range("A" & A).Select ActiveSheet.Paste A = A + R + 1 Range("A" & A).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell End If Next Ws Cells.Select ' JUSTER BREDDE PÅ KOLONNER Cells.EntireColumn.AutoFit End Sub
huha jeg bliver lige ved, kan man med en anden funktion angive hvor bred en kolonne på et ark skal være altså noget med (undskyld min klodsede pseudokode: detteark(cells(1,1)).width =50
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.