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

Excel bestand opslaan in mapnaam van een cel waarde.

Status
Niet open voor verdere reacties.

2000syd

Gebruiker
Lid geworden
14 feb 2015
Berichten
14
Hallo,
is het mogelijk dat ik in excel een bestand door een knop kan opslaan in 2 verschillende mappen?
ik heb een macro code die werkt om het in 1 map op te slaan , maar is het mogelijk om bv (bestands naam cel B12 en B15 ) in map c : users\Nico\desktop\brenco-technics\facturen\facturen 2015 op te slaan, en dan tegelijkertijd in c : users\Nico\desktop\brenco-technics\facturen\facturen 2015\factuur nr ,maar dan bestands naam enkel cel B12.
Kan ik dan ook nog als ik Cel B12 en B15 samen gebruik als bestandsnaam, een veiligheid hebben dat enkel cel B12 nooit de zelfde mag zijn om fouten te vermijden.Bekijk bijlage Factuurt origineel PDF3.xlsm
hier is de code die ik nu gebruik.

Private Sub CommandButton21_Click()
Dim FacName As String

FacName = ActiveSheet.Range("B12") & Range("B15").Value ' De macro haalt met dit command het factuurnummer op in de factuur, om deze later als naam voor het PDF-bestand te gebruiken.

If Dir("C:\users\nico\desktop\brenco-technics\facturen\facturen 2015\" & FacName & ".pdf") <> "" Then
MsgBox "Het factuur: " & FacName & " bestaat reeds" ' Een controle om geen dubbel PDF-bestand te maken.
' De map waarin je de PDF-bestanden in wilt creëeren ( facturen 2015 ) moet op voorhand aangemaakt zijn!!
Exit Sub 'Verlaat de routine als het PDF-bestand reeds bestaat.
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\users\nico\desktop\brenco-technics\facturen\facturen 2015\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True


End If
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Blad1").CommandButton1.Visible = False
End Sub

Private Sub Workbook_Open()
Sheets("Blad1").CommandButton1.Visible = True
End Sub


Private Sub CommandButton22_Click()
Range("B12").Value = Range("B12").Value + 1
Range("B15:B15").ClearContents
Range("B16:B16").ClearContents
Range("B17:B17").ClearContents
Range("B18:B18").ClearContents
Range("B19:B19").ClearContents
Range("B24:E36").ClearContents
Range("B11").Value = Date
End Sub




greets Nico
 
Daarnaast heb ik het regelmatig over duidelijk zijn in de uitleg en dit:
c : users\Nico\desktop\brenco-technics\facturen\facturen 2015\factuur nr

zoals het in je uitleg staat, kan natuurlijk nooit een bestaande map zijn.
 
Hey Harry,
nee dat is het probleem niet. Ik ben continu naar oplossingen aan het zoeken voor mijn probleem. Ik ben echt een leek in deze dingen en kan zeer goed begrijpen dat zoiets oplossen voor jullie een doodgewone kwestie is. Ik kan mij in iets vast bijten tot ik een oplossing heb, behalve op Virtual basic. Ik ken er echt heel weinig van en moet ik toegeven dat dit ver boven mijn kennis uitsteekt. Het zou tof zijn moest er een oplossing komen maar wil ze vooral zelf zoeken,(daar leer je het meeste mee) maar merk dat dit echt te hoog gegrepen is. Ik ben de mensen die mee oplossingen zoeken zeer dankbaar. Maar eigenlijk zijn dit 2 verschillende vragen op dit forum en op worksheet.nl.
En als dan iemand een oplossing vind die bij hem wel werkt en bij mij niet, word dat na bijna een week elke dag zoeken effe frustrerend. En niet omdat het niet snel genoeg gaat, maar bij iemands werkt het wel en bij mij niet. Ik hoop dat je dat ene beetje begrijpt. Ik denk dat het eerder van onkunde is dan van niet snelgenoeg.
Groetjes,
Nico
 
Hey edmoor,
Bedankt voor je antwoord.
Ik heb geprobeerd wat ik hier boven geschreven heb, maar dat lukte dus niet.
Ik zou enkel willen weten of het mogelijk zou zijn wat ik hier boven vraag, ook al heb ik iets niet alle perfect ingetypt.
Ik weet ook soms niet hoe ik iets moet of kan uitleggen omdat mijn kennis zeer beperkt is over dit, maar ben wel bereid om dingen aan te leren die in mijn mogelijkheid liggen...
groetjes,
Nico
 
Ik begrijp het ook wel, iets duidelijk uitleggen valt niet mee, maar het schrijven van een padnaam zou toch geen probleem moeten zijn en het leest erg vervelend als dat niet in orde is. Ik heb even de code in je document bekeken en daar staan een aantal zaken dubbel in. Er kan dus e.e.a. weg.
Maar wat bedoel je nu precies met 2 x opslaan? 1x als Excel document en 1x als PDF?

Ook heeft het geen zin een blad tijdens het sluiten van een document onzichtbaar te maken en bij het openen van een document weer zichtbaar. Wat probeer je daarmee te bereiken?
Daarnaast kun je dingen voor jezelf al veel eenvoudiger maken door leesbare code te schrijven. Je routine om de PDF op te slaan zou bijvoorbeeld zo kunnen:

Code:
Private Sub CommandButton21_Click()
    Dim FACname As String
    Dim Padnaam As String
    Dim PDFname As String

    Padnaam = "C:\users\nico\desktop\brenco-technics\facturen\facturen 2015\"
    FACname = ActiveSheet.Range("B12") & Range("B15").Value     ' De macro haalt met dit command het factuurnummer op in de factuur,
                                                                ' om deze later als naam voor het PDF-bestand te gebruiken.
    If Dir(Padnaam & FACname & ".pdf") <> "" Then
        MsgBox "Factuur: " & FACname & " bestaat reeds"         ' Een controle om geen dubbel PDF-bestand te maken.
                                                                ' De map waarin je de PDF-bestanden in wilt creëeren ( facturen 2015 )
                                                                ' moet op voorhand aangemaakt zijn!!
        Exit Sub                                                ' Verlaat de routine als het PDF-bestand reeds bestaat.
    Else
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=Padnaam & FACname & ".pdf", _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=False, _
            IgnorePrintAreas:=False, _
            From:=1, _
            To:=1, _
            OpenAfterPublish:=True
    End If
End Sub
 
Laatst bewerkt:
Ok zal het proberen duidelijk uit te leggen.
Moederbestand is dus een excel file, heb een code gevonden die ik hier boven heb gepost, waar ik zeer tevreden over ben. Als ik alles ingevuld heb en ik druk op de knop "opslaan " (die ik zelf geplaatst heb in de file) dan slaat hij het document op in pdf in de folder c: users\Nico\desktop\brenco-technics\facturen\facturen 2015\ met bestands naam de waarden van cel B12( factuur nr bv 2015001) en cel B15 ( naam jan met de pet).
Als ik nu een fout typ met Bv de zelfde factuur nr 2015001 maar een andere naam piet met de pet, zou er een veiligheid in moeten zitten dat ik dezelfde factuur nr niet kan opslaan. Maar bv wel de zelfde naam als die persoon 2 of 3 facturen heeft aangekocht.
Als ik dan ook nog een map met enkel de factuur nr kan opslaan in bv : c: users\Nico\desktop\brenco-technics\facturen\facturen 2015\factuur nr\ kan die fout ook nooit voorvallen. alles mag in PDF opgeslagen worden
Begrijp je een beetje mijn uitleg
in bijlage het laatste excel bestand voor zover ik al ben geraakt.

groetjes,
Nico
 

Bijlagen

Hoy iedereen, ik heb een mijn excel file nog even zelf wat aangepast,
ik kan 3 bestandsnamen die beginnen met 2015001 (waarde van cel B12) opslaan ,en dit zou dus niet mogen omdat 2015001 het de factuur nr is. Wat wel zou mogen is bv 2015001 Nico Hendrickx en 2015003 Nico Hendrickx. De naam van de Klant (waarde van cel B15) mag wel regelmatige terug komen, omdat 1 klant soms 4 aankopen per jaar kan doen.
Dus celwaarde B12 kan maar 1x voorkomen in de map facturen 2015, maar 1 klant kan wel 4 verschillende factuur nrs op zijn naam hebben.
2015001 Nico Hendrickx => ok
2015005 Nico Hendrickx => ok

2015002 Jan met de Pet => Niet ok
2015002 Piet van Beeck => Niet ok

Sorry voor mij gezever, maar ik ben echt niet goed om iets uit te leggen weer ik zeer beperkt in ben.
Groetjes,
Nico
 

Bijlagen

Ik ben even de draad kwijt in je verhaal. Je document heb ik opgeschoont, dus ontdaan van onnodige zaken. Probeer die eens en laat dan weten wat er naar jouw mening niet goed gaat of anders zou moeten.
Bekijk bijlage Ontwerp 15-02-2015.xlsm
 
Hey Edmoor,
heb het getest, De knoppen die ik er zelf heb opgebracht "nieuw factuur" en "opslaan" die werken niet.
het toetsenbord combinatie werkt wel.
Maar ik kan nog steeds "factuur nr = cel B12" overschrijven met eender welke waarde in "naam = cel B15"
Dus de macro zou moeten zijn dat ik nooit een bestand kan opslaan enkel met dezelfde waarden "factuur nr = cel B12"
Waarde in cel B12 =2015001
Waarde in cel B15 = Nico Hendrickx. komt als bestandsnaam "2015001 Nico Hendrickx"
als
Waarde in cel B12 =2015002
Waarde in cel B15 = Nico Hendrickx. komt als bestandsnaam "2015002 Nico Hendrickx"

Deze combinatie hierboven zou moeten kunnen,

wat ik zou willen vermijden is

Waarde in cel B12 =2015005
Waarde in cel B15 = Nico Hendrickx. komt als bestandsnaam "2015005 Nico Hendrickx"

en ik vergis me een keer door een factuur nr in de geven die al bestaat
bv.

Waarde in cel B12 =2015005
Waarde in cel B15 = Edmoor komt als bestandsnaam "2015005 Edmoor"

Dus 2 de zelfde factuur nr = "waarde cel B12 " zou ik nooit mogen kunnen opslaan.

Heel makkelijk zou zijn, dat ik enkel factuur nr "cel B12" als bestandsnaam zou gebruiken , die kan ik dan nooit overschrijven. Maar indien mensen hun factuur kwijt spelen kan ik via de bestandsnaam ( waar dan achter het factuur nr hun naam ook vermeld staat) makkelijker op zoeken.

groetjes,
Nico
 
Je bedoeld dus dat als er een bestand bestaat waarvan de eerste 7 posities van de naam gelijk zijn aan het factuurnummer, dit niet mag worden geaccepteerd. Probeer dat eens met bijgevoegd document. De knoppen doen het ook weer.
Bekijk bijlage Ontwerp 15-02-2015.xlsm
 
Laatst bewerkt:
Edmoor ,
je bent een held!!!
Supper man,
ik hoop dat ik in eerste instantie niets over het hoofd zie, maar dit is echt 100% wat ik in gedachte had.
Ik kan je niet hard genoeg bedanken, en ik had de moed al bijna opgegeven...
Ik ga het nog eens goed testen maar denk dat het in orde is..
vriendelijke groetjes,
Nico
 
Ok dan. Veel plezier ermee :)
 
Hey Edmoor,
yep dit is het dus idd. Ik heb enkel iets van de macro moeten wijzigen omdat hij alle velden in kolom D ook wiste als ik op "nieuw factuur" klikte.
Maar echt volledig hoe ik het in gedachte had.
Nog eens kei hard bedankt.
vriendelijke groetjes,
Nico.
enkel zie ik nergens "opgelost" staan...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan