15. november 2005 - 09:26Der er
11 kommentarer og 1 løsning
Kopier udskriftsområde til andet ark
Jeg har en mappe, hvor jeg vil kopiere udskriftsområder fra en del af arkene (10 i alt) til et andet regneark. Men det er kun værdier og formater, der skal sættes ind. Mappen de skal sættes ind i er navngivet "Intra" og har faneblade med navne, der korresponderer til fanerne på de ark, hvor udskriftsområderne er kopieret fra (f.eks. 1.1, 1.2, 2.4, Alle). De skal naturligvis sættes ind i de ark, hvor navnene passer sammen.
Public Sub Overfør() Dim PArea As Variant, Ark As String, Arknavn As String, Område As String
For Each PArea In ThisWorkbook.Names Ark = Split(PArea, "!")(0) Arknavn = Right(Ark, Len(Ark) - 1) Område = Right(PArea, Len(PArea) - 1)
If Split(PArea.Name, "!")(1) = "Print_Area" Then ThisWorkbook.Worksheets(Arknavn).Range(Område).Copy Workbooks("Intra.xls").Activate Worksheets(Arknavn).Select Range("A1").Select
Public Sub Overfør() Dim PArea As Variant, Ark As String, Arknavn As String, Område As String
For Each PArea In ThisWorkbook.Names Ark = Split(PArea, "!")(0) Arknavn = Right(Ark, Len(Ark) - 1) Område = Right(PArea, Len(PArea) - 1) If InStr(1, PArea.Name, "!") > 0 Then If Split(PArea.Name, "!")(1) = "Print_Area" Then ThisWorkbook.Worksheets(Arknavn).Range(Område).Copy Workbooks("Intra.xls").Activate Worksheets(Arknavn).Select Range("A1").Select
Jeg har testet den med 1 ark, hvor der er anført udskriftsområde og 2 ark, hvor der er anført udskriftsområde på hvert ark. Udskriftsområderne har samme størrelse. Det gik godt, når det kun være det første ark, men jeg fik samme fejl, når det var 2 ark.
Jeg kan slet ikke gennemskue koden, men måske er der en lettere løsning? Jeg har ranges af forskellig størrelse på de 10 forskellige ark. Det er dem jeg har afgrænset som udskriftsområder. De skal kopieres over i det andet ark regelmæssigt. Ville det være nemmere at definere range for hvert ark, kopiere og indsætte i tilsvarende ark i ny mappe?
Public Sub Overfør() Dim PArea As Variant, Ark As String, Arknavn As String, Område As String
For Each PArea In ThisWorkbook.Names Ark = Split(PArea, "!")(0) Arknavn = Right(Ark, Len(Ark) - 1) Område = Right(PArea, Len(PArea) - 1) If Right(PArea.Name, 10) = "Print_Area" Then If Split(PArea.Name, "!")(1) = "Print_Area" Then ThisWorkbook.Worksheets(Arknavn).Range(Område).Copy Workbooks("Intra.xls").Activate Worksheets(Arknavn).Select Range("A1").Select
Public Sub Overfør() Dim PArea As Variant, Ark As String, Arknavn As String, Område As String For Each PArea In ThisWorkbook.Names Ark = Split(PArea, "!")(0) Arknavn = Right(Ark, Len(Ark) - 1) Område = Right(PArea, Len(PArea) - 1) If Right(PArea.Name, 10) = "Print_Area" Then ThisWorkbook.Worksheets(Arknavn).Range(Område).Copy Workbooks("Intra.xls").Activate Worksheets(Arknavn).Select Range("A1").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End If Next 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.