• 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.

Macro voor backup op weeknummer

Status
Niet open voor verdere reacties.
Hallo.

Ja dat is niet best als ik dat zo zie.
de weeknummers komen volgens tabel van jou in geen van beide overeen met de datum.

Ik kan het probleem natuurlijk erg gemakelijk oplossen door de backup op maand weg te laten schrijven maar ik weet niet hoe groot een excel file mag zijn. en hoe lang het duurt met het opstarten wegschrijven naar schijf / via netwerk zal het nog langer duren.



Groeten Koos.
 
Zoals in mijn vorige topic stond is dit volgens de ISO-norm (Europese weeknummer).

Code:
CurrentDate$ = Now()
WeekNr = DatePart("ww", CurrentDate$, vbMonday, vbFirstFourDays)

De volledige macro:

Code:
Sub BackupMaken()
Dim Map As String
Dim Doel As String
    Map = ThisWorkbook.Path
    Map = Map & "\"
    Doel = "backup"

    'backupmap maken
    Map = Map & Doel
    If Dir(Map & "\", vbDirectory) = "" Then MkDir Map
    'bestand wegschrijven
    
    
    CurrentDate$ = Now()
    WeekNr = DatePart("ww", CurrentDate$, vbMonday, vbFirstFourDays)
    
    ActiveWorkbook.SaveCopyAs _
        Map & "\" & Format(Now(), "dd-mm-yy") & " " & "Weeknr" & WeekNr & ".xls"
End Sub


Pierre
 
Laatst bewerkt:
Hallo.

Hoe kan ik er voor zorgen dat mijn gebruikte script niet in de backup komt.

is dat mogelijk ?

dit i.v.m de gegenereerde datum die ik verwerk in de file naam en het later openen en weer afsluiten van het programma.

of is hier een andere oplossing voor.


wat betreft uitlezen van een cell in een blad werkt bij mij niet met getallen, ik voeg er een cel bij aan met texst en dan gaat het wel.

groeten Koos.
 
Opslaan zonder VBA. (http://www.danielklann.com/excel/strip_macros.htm).

Code:
Sub SaveWithoutMacros()

'Purpose : To save a copy of the active workbook without macros

Dim vFilename As Variant
Dim wbActiveBook As Workbook
Dim oVBComp As Object
Dim oVBComps As Object


On Error GoTo CodeError


'Get a filename to save as
vFilename = Application.GetSaveAsFilename(filefilter:="Microsoft Excel Workbooks,*.xls", _
Title:="Save Copy Without Macros")

If vFilename = False Then Exit Sub 'User chose Cancel

ActiveWorkbook.SaveCopyAs vFilename
Set wbActiveBook = Workbooks.Open(vFilename)


'Now strip all VBA, modules, userforms from the copy

Set oVBComps = wbActiveBook.VBProject.VBComponents

For Each oVBComp In oVBComps
Select Case oVBComp.Type
Case 1, 2, 3 'Standard Module, Class Module, Userform
oVBComps.Remove oVBComp
Case Else
With oVBComp.CodeModule 'Worksheet or workbook code module
.DeleteLines 1, .CountOfLines
End With
End Select
Next oVBComp

wbActiveBook.Save

MsgBox "A copy of your workbook has been created with all VBA code removed.", vbInformation, "Success!"

Exit Sub

CodeError:
MsgBox Err.Description, vbExclamation, "An Error Occurred"

End Sub



Bewaren via 2 cellen :

ActiveWorkbook.SaveAs Filename:=Format(Sheets("Blad1").Range("A1"), "ddmmyy") & "_" & Sheets("Blad1").Range("A2") & ".xls"


Pierre
 
Laatst bewerkt:
dit i.v.m de gegenereerde datum die ik verwerk in de file naam en het later openen en weer afsluiten van het programma.

of is hier een andere oplossing voor.

Verwijder eerst =VANDAAG() in A1

Zet dit in ThisWorkbook :

Code:
Private Sub Workbook_Open()
        If Sheets("Blad1").Range("A1") = "" Then
        Sheets("Blad1").Range("A1") = Date
    End If
End Sub

Sla het bestand op zonder iets in cel A1 te zetten en doe het terug open.
Nu staat er automatisch de datum van vandaag in.

Als je nu een van de backup-bestanden opent zal de datum in A1 NIET meer veranderen.



Pierre
 
Laatst bewerkt:
Hallo Pierre.

Dat ziet er goed uit.

ik sla de file per week op maar de file dient in die week wel geopend en weer gesloten te worden om aangevuld te kunnen worden.

ik gebruik dus de hoofd file, deze blijft altijd oproepbaar tot het jaar 9999999999
ik laat in deze file de week nummer zetten of via hand of laat het oproepen door formule.

elke keer als de file afgesloten wordt, schrijft hij ook een backup file met de week nummer in de file naam.

tot nu is er volgens mij nog niet veel aan de hand.

maar deze backup file wordt mischien wel 50 keer overschreven per week met recente weeknummer.

als ik maanden later deze file open en weer sluit zie ik een probleem.

mischien moet ik wel met de voorwaarde werken: als week nummer niet overeen komt met de weeknummer tijdens openen mag hij hem niet wegschrijven maar allen afsluiten ?


Is het nog te volgen ?
puf tja het is me wel wat hoor.

Ik heb nog niet zoveel op internet en op forems gezocht als de laatste paar dagen om
maar aan ideen en hulp te komen.

het is opzich best wel ingewikkeld. leuke uitdaging.

het bestand waar ik mee aan de slag ben heeft ongeveer 700 bladen met informatie
veel hyperlinks en druk knoppen met macro`s om te navigeren. werkt opzich erg prettig maar wel erg veel werk.

Groeten Koos.
 
Koos,

A1 werkt met de macro (If Sheets("Blad1").Range("A1") = "" Then ...)

In A2 zet je de formule voor het weeknummer nl.
=1+INTEGER((A1-DATUM(JAAR(A1+4-WEEKDAG(A1+6));1;5)+WEEKDAG(DATUM(JAAR(A1+4-WEEKDAG(A1+6));1;3)))/7)


Vermits A1 niet meer veranderd eens er een datum in staat zal cel A2 ook niet meer veranderen want die word verwezen naar A1.

Is het dit wat je bedoeld?

Pierre
 
Hallo pierre.

Ik denk dat ik hier wel iets aan heb.

ik zal het uitproberen.

het zal niet eerder zijn als maandag dat ik tijd heb.

maar ik hou je jullie op de hoogte.

ik denk dat er meer zijn die mee lezen en er waarschijnlijk iets aan hebben.
dat vind ik ook leuk aan een forum dat je ook niet aangemelde anunieme meelezers op deze manier kunt helpen.

altans dat is mijn ervaring met forums.

ik laat het resultaat nog wel weten en maak wel een beknopte samenvatting van wat ik heb gemaakt.

Groeten Koos.
 
Hallo.

Deze vraag is opgelost zie

http://www.helpmij.nl/forum/showthread.php?t=305808&page=2

Groeten Koos.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan