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

Opslaan met naam uit een Cel

Status
Niet open voor verdere reacties.

Eddy v

Gebruiker
Lid geworden
3 mrt 2003
Berichten
103
Hallo,

Is mogelijk om een bestand op de slaan met de een naam met daarin een
gedeelte van de waarde uit een cel erbij.

Ik moet namelijke elke week weeklijsten invullen voor de zaak.
Daar wordt automatische een week nummer in een cel gezet.
Kan ik deze cel (met week nummer dus) automatische laten toevoegen
aan de bestand naam??

Dus dat de bestandsnaam wordt week_"en dan hier de cel waarde"

Gr Eddy.
 
Ja, bijvoorbeeld

Code:
ThisWorkbook.SaveAs "C:\Week " & Range("A1") & ".xls"

Wigi
 
Bedankt voor je snelle reactie.

Helaas weet ik even niet waar ik de code neer moet zetten of waar ik hem
kan gebruiken
 
Beste Eddy,

Open het excelbestand, klik op Alt+F11 en dubbelklik links op VBAProject(bestandsnaam). Dubbelklik op ThisWorkbook, en kies dan in plaats van Algemeen - This Workbook middenbovenin het scherm.
Kies rechtsboven BeforeClose en zet daar de regel van Wigi in.
Sla het bestand op.

Richard
 
Dat ziet er goed uit..
Alleen hij pakt de waarde uit de cel niet mee
en komt met de melding dat het bestand al bestaat.
Dat klopt dus ook omdat hij het week nummer uit de cel niet meeneemt.

iemand een idee???

Gr Eddy
 
Bedankt voor je snelle reactie.

Helaas weet ik even niet waar ik de code neer moet zetten of waar ik hem
kan gebruiken

Eddy

ik had wat weinig info gegeven aangezien deze vraag al meerdere keren voorgekomen is.

Richard heeft je ondertussen goed geholpen.

Als het nu nog niet werkt, 2 opmerkingen:

- is de cel wel A1 en niet een andere cel? indien een andere, pas dat dan aan in de code
- de code treedt pas in werking als je het bestand afsluit, niet eerder.

Wigi
 
De cel heb ik inderdaad aangepast.

En hij geeft de melding dat het bestand al bestaat ook pas als ik wil afsluiten.
Dus hij wil het bestand wel opslaan maar neem in de naam de cel info niet mee.
 
En heb je gecheckt of je het bestand met weeknummer erbij al eens opgeslagen werd op de aangegeven plaats?
 
Ja dat heb ik gecheckt

Sub Opslaan()
ThisWorkbook.SaveAs "D:\Urenlijsten+snipperdagen\Urenlijst_week_" & Range("H3") & ".xls"
End Sub

Dat heb ik dus staan op de goede plaats.

Als ik nu afsluit komt hij met de melding

Er bestaat in deze locatie al een bestand met de naam D:\Urenlijsten+snipperdagen\Urenlijst_week_.xls. Wilt U dit bestand vervangen?

Gr Eddy
 
Laatst bewerkt:
Ja wel.

In H3 wordt met een formule het week nummer van een datum uitgerekend
 
Een getal.

Het wordt berekend met de volgende formule

=INTEGER((B5-SOM(REST(DATUM(JAAR(B5-REST(B5-2;7)+3);1;2);{1E+99\7})*{1\-1})+5)/7)
 
Raar verhaal is dit.

Kan je het bestandje (enkel het nodige) hier even bijhangen. Wel eerst zippen.
 
Ik heb het denk ik gevonden..

Ik hen nu de eigenschap van de cel op getal gezet..:rolleyes:
Nu lijkt het te werken...:thumb:

Is er een moelijk het dat het opslaan niet gebeurt bij het afsluiten maar
bij het drukken op de knop opslaan??

Gr Eddy
 
Is er een moelijk het dat het opslaan niet gebeurt bij het afsluiten maar bij het drukken op de knop opslaan??

Gr Eddy

U vraagt, wij draaien.

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True
    Application.EnableEvents = False    
ThisWorkbook.SaveAs "D:\Urenlijsten+snipperdagen\Urenlijst_week_" & Range("H3") & ".xls"
    Application.EnableEvents = True
End Sub

Plak dit achter ThisWorkbook in VBA. Delete alle andere code omtrent dat opslaan.

Wigi
 
Voer eerst eenmalig deze macro uit:

Code:
Sub enableevents()
    Application.enableevents = True
    MsgBox "OK"
End Sub

Kopieer de code gewoon naar een module. Ga erin staan en druk F5. Je krijgt een message box als je het goed gedaan hebt.

Dan is dit de code voor ThisWorkbook:

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Cancel = True
    Application.enableevents = False
    ThisWorkbook.SaveAs "C:\test\Urenlijst_week_" & Range("H3") & ".xls"
    Application.enableevents = True
End Sub

Lukt het nu?

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan