• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Code niet uitvoeren wanneer workbook een bepaalde naam heeft

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
528
Goede avond ontwikkelaars

Met dit gedeelte van mijn code wordt er een back-up gemaakt van mijn workbook in de folder "Back-up Recup BFA-M" (de folder staat op dezelfde plaats als het origineel bestand)

Code:
Dim fName As String
    fName = Dir(ThisWorkbook.Path & "\Back-up Recup BFA-M\" & "*Back-up - " & ThisWorkbook.Name & ".xlsm")
    Do While fName <> ""
        Kill ThisWorkbook.Path & "\Back-up Recup BFA-M\" & fName
        fName = Dir
    Loop

ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\Back-up Recup BFA-M\" & Format(Now(), "dd-mm-yyyy") & " - Back-up - " & ThisWorkbook.Name

Wanneer ik die backup dan open en weer sluit gaat hij, omdat de code zo gemaakt is, terug een backup willen maken in de folder "Back-up Recup BFA-M" maar die folder is (uiteraard) er niet.


Het komt er op neer dat ik bovenstaand gedeelte van de code wil overslaan indien de naam van de workbook : ("*Back-up*") is.

Ik heb geprobeerd met :

Code:
If Workbook.Name = ("*Back-up*") Then
Exit Sub
End If

Maar dit werkt niet.

Ik krijg een melding dat hij bedoelde folder niet vind (logisch = niet aangemaakt) en uiteraard een foutmelding in de regel :

Code:
ActiveWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\Back-up Recup BFA-M\" & Format(Now(), "dd-mm-yyyy") & " - Back-up - " & ThisWorkbook.Name

Dus de "Exit sub" doet ie niet.

Hoe kan ik dit oplossen?

Bedankt

Pascal
 
Je kan eens naar Instr kijken.
 
Laatst bewerkt:
VenA,

Bedankt voor de reactie.

Maar wat bedoel je daar mee?


Groetjes

Pascal
 
edmoor,

Ik ben een echt groentje in VBA en ik weet dus echt niet hoe ik dit moet gebruiken in mijn code.

Groetjes

Pascal
 
Het komt er op neer dat ik bovenstaand gedeelte van de code wil overslaan indien de naam van de workbook : ("*Back-up*") is.

Kan je hier wat inspiratie uithalen?
Code:
If ActiveWorkbook.Name Like ("*Back-up*") Then
MsgBox "niet ok"
Else
MsgBox "ok"
End If
 
Bedankt gast0660,

Het ging hem dus blijkbaar om het eerste regeltje...

Hier kan ik meer verder


Groetjes

Pascal
 
@dotchie:
Code:
MsgBox IIf(ActiveWorkbook.Name Like ("*Back-up*"), "niet ok", "ok")
;)
 
@ edmoor, idd:thumb:, maar ik dacht eerder in de richting van TS zijn stukje code
Code:
If Workbook.Name = ("*Back-up*") Then
Exit Sub
End If
 
Ok ;)
Code:
If Workbook.Name = ("*Back-up*") Then Exit Sub
 
Bedankt heren,

Verschillende mogelijkheden dus...

Weeral bijgeleerd :thumb:

Stap voor stap ....


Greetz

Pascal
 
@ edmoor, zit je weer aan Den Brugse zot?:d
Als dit niet werkt
Code:
If Workbook.Name = ("*Back-up*") Then
Exit Sub
End If
zal dit
Code:
If Workbook.Name = ("*Back-up*") Then Exit Sub
ook niet werken.
 
Ik doelde op een verkorte uitgave van jouw prima oplossing :)
 
Zo dus
Code:
If ActiveWorkbook.Name Like ("*Back-up*") Then Exit Sub
of
Code:
If ThisWorkbook.Name Like ("*Back-up*") Then Exit Sub
Kzal der zelf maar een duvelke bijpakken.:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan