Opslaan van een werkboek als dit eigenlijk bestaat

Status
Niet open voor verdere reacties.

blueberry013

Gebruiker
Lid geworden
23 mei 2011
Berichten
111
Hallo!

Ik zit met een serieus probleem...
Als ik een nieuw werkboek maak via vba met volgende code :

Set Newbook = Workbooks.Add
With Newbook
.Title = "Planning"
.Subject = "Planning"
.SaveAs Filename:="F:\Planning\Planning 2011\Week" & y & ""

Sheets.Add.Name = "Manuele"
Sheets.Add.Name = "Multipond"
Sheets.Add.Name = "Ishida"
Sheets.Add.Name = "Tempplan"
Sheets.Add.Name = "Tempplan1"
Sheets.Add.Name = "Tempplan2"

Application.DisplayAlerts = False
Worksheets("Blad1").Delete
Worksheets("Blad2").Delete
Worksheets("Blad3").Delete
Application.DisplayAlerts = True
End With

In dit geval maakt hij een werkboek met naam bijvoorbeeld Week36.

Als ik dit nu nog eens zou doen zou hij een werkboek moeten maken Week36v1.
etc.

hoe krijg ik dit voor elkaar?

alvast bedankt!
groetjes
 
Ik zou aanraden om eerst de sheets te wissen met een "FOR" lus. Iemand met een andere taalsetting heeft geen blad1 etc. en ook het aantal bladen is standaard in te stellen door de user. Dus mensen kunnen alleen blad1 hebben, maar ook blad1 tot 10.

Je kunt gebruik maken van het filesystem object om te kijken of er reeds een versie bestaat. Het is dan wel makkelijker als je meteen met v0 of v1 begint.

uit de losse pols

Code:
dim found as boolean
dim versie as int
dim subfile as string
found = false
versie = 0
Set fso = CreateObject("Scripting.FileSystemObject")

while (!found)
   subfile = filenaam&versie
   if (fso.FileExists(subfile)) then
      versie = versie + 1
   else
      found = true
   end if
wend
savename = filename & versie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan