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

SAve document As

Status
Niet open voor verdere reacties.

mukizi

Gebruiker
Lid geworden
25 aug 2006
Berichten
60
Middels een button wil ik mijn doc opslaan. ik wil dat alles van te voren definieerd is zodat de gebruiker niets ziet van het proces opslaanals.
Naam en locactie is van te voren gedefineerd en krijgt iedere x de datum van vandaag mee

bijv : Voortgangsrapportage090408
loc: d:\pad

Onderstaand kwam ik tegen op het forum, echter kom ik er nog niet uit. Kan iemand me helpen?

Sub OpslaanAls()
Dim CelMetNaam As String
Application.DisplayAlerts = False
CelMetNaam = ActiveSheet.Range("F5").Value
ThisWorkbook.SaveAs Filename:="D:\ CelMetNaam
Applicaion.DisplayAlerts = True
End Sub
 
Code:
Sub OpslaanAls()
Dim CelMetNaam As String
Application.DisplayAlerts = False
CelMetNaam = ActiveSheet.Range("F5").Value
ThisWorkbook.SaveAs Filename:="D:\ CelMetNaam" & Format(Now, "ddmmyy")
Application.DisplayAlerts = True
End Sub
In bovenstaande code ben ik er vanuit gegaan dat in cel F5 "Voortgangsrapportage"staat.

Met vriendelijke groet,


Roncancio
 
Net zoals in de code te zien is, haal je de gegevens op uit de cellen en zet die in een variabele. Met & kun je dan verschillende dingen aan mekaar plakken, dus het pad en de bestandsnaam.

En Applicaion in de code heeft een letter te weinig.

Wigi
 
Roncancio, CelMetNaam moet buiten de " " staan, of VBA ziet dat als tekst.
 
Ik denk dat ik een beetje onduidelijk ben geweest, mijn excuus daarvoor.
Het geen wat ik liet zien is just een voorbeeld wat ik op het forum tegenkwam.

m.b.v. een button(niet in vba maar gewoon in excel) wil ik het gehele xls document opslaan
Ik denk niet dat ik moet gaan verwijzen naar een cel he!!

gr mursel
 
Naam en locactie is van te voren gedefineerd en krijgt iedere x de datum van vandaag mee

Dus gaan we ervan uit dat de naam van het bestand in een willekeurige cel in jouw Excelbestand staat. In de code die je hebt gekregen gaan we uit van cel F5, maar dit kan natuurlijk iedere andere cel zijn.
Het verwijzen naar de cel wordt dus gedaan om ervoor te zorgen dat de naamgeving van het bestand voor VBA bekend is. Je kunt ook de naam 'Voortgangsrapportage' al in VBA zetten als je dat zou willen; dan heb je geen verwijzing, maar hetzelfde resultaat.
 
Als ik het volgende uitvoer krijg ik geen foutmelding meer, echter wordt het document niet opgeslagen in het opgegeven pad

Sub OpslaanAls()
Dim CelMetNaam As String
Application.DisplayAlerts = False
CelMetNaam = ActiveSheet.Range("E5").Value
ThisWorkbook.SaveAs Filename:="D:\Documenten in opmaak\Testjes Excel\Testbestanden CelMetNaam" & Format(Now, "ddmmyy")
Application.DisplayAlerts = True
End Sub

Als ik de aanhalingteken achter CelMetNaam verplaats achter Testbestanden dan komt hij met een fout.

wat doe ik hier nog fout???
 
Ik denk dat ik een beetje onduidelijk ben geweest, mijn excuus daarvoor.
Het geen wat ik liet zien is just een voorbeeld wat ik op het forum tegenkwam.

m.b.v. een button(niet in vba maar gewoon in excel) wil ik het gehele xls document opslaan
Ik denk niet dat ik moet gaan verwijzen naar een cel he!!

gr mursel

Je kunt geen button gebruiken zonder VBA.
Of je naar een cel moet verwijzen hangt van jezelf af. Als alleen de datum verandert dan hoeft het niet maar indien je meerdere rapportages per dag wilt hebben zul je toch een onderscheidt moeten maken.

Met vriendelijke groet,


Roncancio
 
Je kunt geen button gebruiken zonder VBA.
Of je naar een cel moet verwijzen hangt van jezelf af. Als alleen de datum verandert dan hoeft het niet maar indien je meerdere rapportages per dag wilt hebben zul je toch een onderscheidt moeten maken.

Met vriendelijke groet,


Roncancio

Je kan toch aan elk willekeurige vorm of plaatje een macro hangen waarin wordt gezegd open een bepaald iets.... heb er al meerdere van gemaakt(dat bedoel ik dus met button:D)
 
Code:
Sub OpslaanAls()
Dim CelMetNaam As String
Application.DisplayAlerts = False
CelMetNaam = Range("E5").Value
[B]ThisWorkbook.SaveAs Filename:="D:\Documenten in opmaak\Testjes Excel\Testbestanden\" & CelMetNaam & Format(Now, " ddmmyy")[/B]
Application.DisplayAlerts = True
End Sub

Wigi
 
thanx Wigi het werkt!!!
Maar eh is het mogelijk om ook een versienr toe te voegen zodat wanneer een document meerdere xeren wordt opgeslagen op een dag.

bijv voortgang090408v1 bestaat al dus automatisch met 1 ophogen voor die dag
voortgang090408v2

of voortgang090408 bestaat al dus automatisch een versie nummer toevoegen

gr
mukizi
 
Lees het versienummer dan ook uit in een cel, en zet dat mee in de regel in het bold hierboven.

Na opslaan verhoog je dan die cel met 1.

Uiteraard moet je die cel terug op 1 zetten de volgende dag, of het blijft verder tellen.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan