Just nu i M3-nätverket
Gå till innehåll
Sibir

SaveAs error

Rekommendera Poster

Sibir

Hej

jag har skapat en kod som kopierar några sheets och sedan sparar ner dem i en ny workbook.

Själva spara-momentet fungerar  bara ibland.

Och om jag tar en ny arbetsfil och lägger in kan det funka första gången/ för mig men inte om någon annan provar.

Använda samma saveAs i en ny kod nu och fick samma fel så antar att det är något jag gjort fel.

Tycker det är märkligt att den funkar ibland eller någon gång i min ursprungliga kod.

Hade fått felmeddelande och någon dag senare när jag körde gick det felfritt men dagen efter fick jag error igen utan att ha gjort någonting.

 

Felmeddelande:

Run-time error '1004':
Method 'SaveAs of object' _Workbook'failed

 

Koden jag använder för att spara:

 

'Här sparas filen som ursprungsfilen och de 27 första tecknen. Som en vanlig .XLXS
     ActiveWorkbook.SaveAs Filename:=Mid(Wb1.Name, 1, 27) & " " &  ".xlsx"
     'Stänger boken utan att spara igen.
     ActiveWorkbook.Close SaveChanges:=False

 

Någon som känner igen felet?

 

Tack på förhand

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Mikael63

Filnamnet skapas utifrån en cell i arbetsboken?

Finns något samband med hur innehållet i den cellen ser ut när det lyckas jämfört med när det misslyckas?

Är cellen i "icke redigeringsläge" när koden körs? Alltså att koden inte körs medan man skriver något i cellen? Kanske inte kan inträffa?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Sibir

Filnamnet skapas utifrån ursprungsfilens 27 första tecken. Tog bort det här men concatinerar till U i slutet också. Så outputrapporten kommer heta samma som ursprungsrapporten + u. Tanken är att ha samma sätt att spara flera olika utrapporter och justera antal tecken. 

 

Dim wb1 as workbook 

Och wb1.name ger då namnet på ursprungliga filen. Detta funkar även när filen inte sparas. 

 

Hänger inte med på frågan om cell men jag tycker inte att det är så. Var några andra blad i arbetsboken som var skrivskyddade, tog bort det just in case men var fortf samma fel. 

 

Kan se på måndag om jag kan städa min kod och dela den i sin helhet. 

 

Men från minnet ser det ut såhär. 

 

Sub outputreport() 

Dim wb1 as workbook

 

Set wb1 = activeworkbook

 

Wb1.sheet(array("sheet1"),("sheet2"),("sheet3"),("sheet4",("sheet5")).copy

 

Sen gör jag massa

. Clear, delete pics, pastevalues mm på dessa blad för att städa bort arbetsmaterial i  outputfilen. 

 

Sen skriver jag ut alla till pdf där jag får upp och måste namnge alla filer. Med. Sheet1. Printout och activeprinter:=pdf

 

Sen tar jag något select a1 för att pekaren inte ska markera ngn text. 

 

Sen kommer save as enligt ovan..

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...