Avatar billede h_s Forsker
29. maj 2008 - 18:38 Der er 7 kommentarer og
1 løsning

Flytte ark til ny projektmappe med formler

Jeg har et ark (Årsopgørelse) som jeg mangler en makro til at kopier og og indsætte i en ny projektmappe.

Arket skal beholde formater og tekster. Men derudover skal de kæder der er bibeholdes.
F.eks.

Udgangspunket (Projektmappe = Stamdata, Ark = Årsopgørelse)
Her er der nogle kæder F.eks. i arket: =VOPSLAG($C$2;data!$B$6:$CX$27;5). De skal bibeholdes, men efter kopieringen refererer til samme ark-navn, men i den nye projektmappe.

Hvordan gør man det?
Avatar billede supertekst Ekspert
30. maj 2008 - 14:14 #1
Prøv at anbringe denne kode i arket "Årsopgørelse" - kan aktiveres fra selve arket med Alt+F8. Er afprøvet med 2003-versionen.

Sub KopierÅrsopgørelse()
    Sheets("Årsopgørelse").Select
    Sheets("Årsopgørelse").Copy
End Sub
Avatar billede h_s Forsker
02. juni 2008 - 16:22 #2
Kigger på det, men  er lige blevet overhalet af en fødsel :-)
Avatar billede supertekst Ekspert
02. juni 2008 - 17:26 #3
Så til lykke ...
Avatar billede h_s Forsker
04. august 2008 - 18:04 #4
Så er jeg ved at være ovenvande igen!

Jeg kan ikke få det til at virke. Hver gang vil funktionerne henvise til projektmappen Stamdata!
Avatar billede supertekst Ekspert
05. august 2008 - 16:42 #5
Den bemærkning havde jeg desværre misforstået - beklager...

Skal se, om jeg kan finde på noget bedre.
Avatar billede supertekst Ekspert
05. august 2008 - 23:53 #6
Alternativ:

Rem VBA-koden anbringes i KildeFilen
Rem ================================
Rem Begge filer skal være åbne
Rem ==========================

Rem Const kan tilpasses
Rem =====================
Const område = "A1:D5"      'Området for celler i Arket
Const Kilde = "Kilde.xls"    'Navn på KildeFil
Const Mål = "Mål.xls"        'Navn på Målfil
Sub KopierÅrsopgørelse()
Dim adresse
    Application.ScreenUpdating = False
   
    Range(område).Select
   
    For Each cc In Selection.Cells
        If cc <> "" Then
            adresse = cc.Address
            With Workbooks(Mål).Sheets("Årsopgørelse")
                With .Range(adresse)
Rem Hvis der er formel - overfør denne - ellers værdi
                    If cc.HasFormula = True Then
                        .Formula = cc.Formula
                    Else
                        .Value = cc.Value
                    End If
                   
Rem Overfør diverse formater
                    .Font.Name = cc.Font.Name
                    .Font.Size = cc.Font.Size
                    .Font.Bold = cc.Font.Bold
                    .Font.Italic = cc.Font.Italic
                    .Font.ColorIndex = cc.Font.ColorIndex
                    .Interior.ColorIndex = cc.Interior.ColorIndex
                    .Borders.LineStyle = cc.Borders.LineStyle
                End With
            End With
        End If
        Workbooks(Kilde).Activate
    Next
   
    Application.CutCopyMode = False
    MsgBox ("Kopiering afsluttet")
   
    Workbooks(Mål).Activate
End Sub
Avatar billede h_s Forsker
16. november 2008 - 09:36 #7
supertekst> Jeg ved godt den er meget gammel, men jeg håber vi kan genåbne spørgsmålet!

Jeg har prøvet at bruge dit forslag, men får en fejl i:

With Workbooks(Mål).Sheets("Årsopgørelse")

Jeg har prøvet at ændre "Mål" til "Kilde" (Synes det ser ud som om der brude stå Kilde)!

Det giver heller ikke det ønskede resultat.

Makroen køres fra "Kilden" og skal kopier arket "Årsopgørelse" over i "Mål" og skal beholde formlerne. Dog med kæder til arket Stamdata i "Mål".
Avatar billede h_s Forsker
16. november 2008 - 11:52 #8
Lukket og forsøgt igen i spørgsmål: http://www.eksperten.dk/spm/852975
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