24. november 2004 - 21:47Der er
19 kommentarer og 1 løsning
Konverter flere ark til separate variabelt navngivet regneark
Jeg har et regneark med aktuelt 21 individuelt navngivet ark (antal og navne kan variere). Første og sidste ark ændres dog aldrig og skal ikke behandles.
Behov (problem): En VBA kode der: * kopier (copy paste special values) alle data fra hvert ark til en ny fil pr. ark (dvs. 21-2=19 separate filer) til en prædefineret destination, * hver nye fil navngives med en fast tekst og det variable navn på det pågældende ark.
Public Sub Lav_filer() sti = "C:\Dokumenter\" ' ret til din sti For Each ws In Worksheets If ws.Name <> "Forside" And ws.Name <> "Bagside" Then ' skift selv navnet på siderne der ikke skal med Sheets(ws.Name).Copy navn = ws.Name & Date ' filen får arknavnet og dads dato, ret selv til ActiveWorkbook.SaveAs Filename:= _ sti & navn & ".xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close
Kabbak, mangler du ikke lige en linie efter Sheets(ws.Name).Copy for kun at have værdier med ? fx. ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
Godt at du nærlæste det bak, jeg havde overset det med værdier
Public Sub Lav_filer() sti = "C:\Dokumenter\" ' ret til din sti For Each ws In Worksheets If ws.Name <> "Forside" And ws.Name <> "Bagside" Then ' skift selv navnet på siderne der ikke skal med Sheets(ws.Name).Copy ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value navn = ws.Name & Date ' filen får arknavnet og dags dato, ret selv til ActiveWorkbook.SaveAs Filename:= _ sti & navn & ".xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close
Koden virker ikke (run-time error): Method 'Copy' of Object '_Worksheet' failed. Makroen standser og gul-markerer netop på linien: Sheets(ws.Name).Copy
Er bak inde på noget og i givet fald hvordan skl den endelige kode så være?
Kode stopper desværre. Har det betydning at hvert af de ark der skal kopieres værdier fra indeholder hver sin pivottabel? - derfor ønsket om copy-paste special-value og formats
jeps min fejl, tænkte ikke lige på pivottabeller sådan Public Sub Lav_filer() sti = "C:\" ' ret til din sti For Each ws In Worksheets If ws.Name <> "Forside" And ws.Name <> "Bagside" Then ' skift selv navnet på siderne der ikke skal med Sheets(ws.Name).Copy ActiveSheet.UsedRange.Copy ActiveSheet.PasteSpecial Paste:=xlPasteValues navn = ws.Name & Date ' filen får arknavnet og dags dato, ret selv til ActiveWorkbook.SaveAs Filename:= _ sti & navn & ".xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close
Mærkeligt - Koden giver stadigvæk samme run-time error: Method 'Copy' of Object '_Worksheet' failed og makroen standser og gul-markerer linien: Sheets(ws.Name).Copy
Så kommer der en ny Run-time error: 1004 Application-defined or object-defined error og kodelinen [ActiveSheet.PasteSpecial Paste:=xlPasteValues]markeres!
Jeg synes nu også at bak skal ha´, han var hurtig til at finde ud af den sidste linie, jeg skulle ihvertfald bruge længere tid, og så havde spørgsmålet nok ikke været løst endnu.;-))
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.