Avatar billede jonbdk Nybegynder
19. juni 2003 - 12:26 Der 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.
Avatar billede keil Nybegynder
19. juni 2003 - 15:09 #1
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.

Der er også ulemper ved et ark.

Så forklar lige lidt mere
Avatar billede jonbdk Nybegynder
19. juni 2003 - 16:03 #2
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?
Avatar billede keil Nybegynder
19. juni 2003 - 16:13 #3
Hvormange ark er der tale om ?
Avatar billede kabbak Professor
19. juni 2003 - 20:36 #4
Her er en makro som burde virke

Stil dig i et tomt ark og kør den.

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
Avatar billede jonbdk Nybegynder
19. juni 2003 - 23:23 #5
Jeg tjekker lige imorgen og prøver kabbaks løsning - så vender jeg tilbage
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:07 #6
Det drejer sig om 14 ark, og jeg tror kabbaks løsning er rigtig god - jeg skal lige lade "min sælger" teste den, og så deler jeg point ud :)
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:32 #7
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) :)
Avatar billede kabbak Professor
20. juni 2003 - 14:36 #8
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
Avatar billede kabbak Professor
20. juni 2003 - 14:37 #9
Dette var svar på punkt2
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:39 #10
Det var vel svar til spm nr. 1 - med autojustering - eller hvad?
Avatar billede kabbak Professor
20. juni 2003 - 14:39 #11
det var 1 men 2 kommer snart
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:40 #12
Jeg stopper bare her - det virker perfekt - tusind tak for hjælpen
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:40 #13
ahhh ok - hvis du ER i gang med 2, vil jeg da meget gerne høre det også :)
Avatar billede kabbak Professor
20. juni 2003 - 14:41 #14
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
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:44 #15
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
Avatar billede kabbak Professor
20. juni 2003 - 14:47 #16
Columns("B:B").Select
    Selection.ColumnWidth = 10
Avatar billede jonbdk Nybegynder
20. juni 2003 - 14:48 #17
Meget smukt!
Tusind tusind tak
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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