Avatar billede M.O Seniormester
27. juni 2019 - 18:17 Der er 8 kommentarer og
1 løsning

VBA - Kopiere ark med formler men ingen kæde

Jeg vil gerne kopiere 2 ud af 3 ark over i en ny fil
den nye fil skal ikke have kæde / reference til originalen

På arket "Interval" er der formler som hente data fra arket "2-Skema"
Kopiering af 2-Skema virker upåklageligt
Humlen er "Interval" arket.

                         
Worksheets("2-Skema").Copy
ThisWorkbook.Worksheets("Interval").Range("A1:AC83").Copy
With ActiveWorkbook
.Sheets.Add(After:=.Worksheets(.Worksheets.Count)).Name = "Interval"
.Sheets("Interval").Range("A1:AC83").PasteSpecial Paste:=xlPasteFormulas
.Sheets("Interval").Range("A1:AC83").PasteSpecial Paste:=xlPasteFormats
End With
                 
Avatar billede kim1a Ekspert
27. juni 2019 - 23:43 #1
Var det ikke nemmere at gemme filen på ny, slette en fane og så bryde kæder efterfølgende?

Bryde kæder kunne også bare være markere to faner og alle celler så kopier og indsæt som værdi (medmindre der er visse formler du ønsker at beholde). Jeg er sikker på der er en vba til at bryde kæder korrekt, men den kender jeg ikke.
Avatar billede Jan K Ekspert
28. juni 2019 - 00:17 #2
Avatar billede M.O Seniormester
28. juni 2019 - 15:01 #3
Jeg prøver lige at uddybe.

Den originale skabelon fil indeholder 3 ark.

Ark1. Indeholder blandt andet adresser som indsættes under oprettelse af  den nye fil.
Ark2. Er en skabelon hvor blandt andet adresserne indsættes under VBA.
Ark3. Indeholder formler / autosum og henter data fra Ark2.

Et eksempel fra ark 3 hvor der hentes data fra ark 2 (2-Skema)
"=HVIS('2-Skema'!C21="";"";'2-Skema'!C21)"

Efter kopiering ser Ark3 sådan ud.
=HVIS('[Skabelon.xlsm]2-Skema'!C21="";"";'[Skabelon.xlsm]2-Skema'!C21)

Jeg vil gerne have at Ark3 i den nye fil til at se ud som første eksempel.
Avatar billede kim1a Ekspert
28. juni 2019 - 16:49 #4
Søg og erstat [Skabelon.xlsm] med ingenting.

Eller gå i rediger kæder og vælg den samme fil så erstatter den dem også.
Avatar billede M.O Seniormester
28. juni 2019 - 18:57 #5
Tak for input, men jeg leder efter vba kode da jeg danner temmelig mange filer.
Avatar billede kim1a Ekspert
28. juni 2019 - 22:26 #6
Det kan laves med kode - har du prøvet at bruge optageren?

Koden kunne lyde noget i stil med dette:
    ActiveWorkbook.ChangeLink Name:=[det gamle navn], NewName:= _
        [ActiveWorkbook], Type:=xlExcelLinks
Avatar billede M.O Seniormester
28. juni 2019 - 22:44 #7
Spændende - changelink vil jeg kigge nærmere på.

Nej jeg har ikke prøvet optageren, i skrivende stund ved jeg ikke hvad det er, men så er der endnu en ting at kigge nærmere på.

Tak for hjælpen.
Avatar billede kim1a Ekspert
29. juni 2019 - 11:53 #8
Køb VBA for dummies, læs de første 3-4 kapitler så er du ret godt kørende :-)
Jeg håber du får det brugt.
Avatar billede M.O Seniormester
01. juli 2019 - 10:35 #9
Jeg ender med at bruge.

ActiveWorkbook.ChangeLink Name:=ThisWorkbook.FullName, NewName:=ActiveWorkbook.FullName, _
Type:=xlExcelLinks

Tak for ledetråden.
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

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