Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Automatisch opslaan onder de naam die in de cel A3 staat  (gelezen 452 keer)

0 leden en 1 gast bekijken dit topic.

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Automatisch opslaan onder de naam die in de cel A3 staat
« Gepost op: 21 maart 2024, 08:17:00 »
Beste  oplossers,
Ik heb een sjabloon voor een risicoanalyse van chemische producten en zou graag hebben dat de gebruiker zelf niet moet ingeven wat de naam van het bestand is maar dat het afhankelijk is van wat er in een bepaalde cel staat (A3). 
In bijlage vind je wat ik van plan was maar opslaan lukt niet.
alvast bedankt om er eens naar te kijken,
dizzl

Macro wordt niet uitgevoerd in deze versie.
Dit is de code die ik in gedachte had:
Sub WijzigBestandsnaam()
    'Haal huidige bestandsnaam op
    Dim huidigeNaam As String
    huidigeNaam = ThisWorkbook.Name
   
    'Haal de waarde uit A3
    Dim A3 As String
    A3 = ThisWorkbook.Sheets("Blad1").Range("A3").Value
       
    Dim opgekuisteA3 As String
    Dim teVerwijderenTekens As String
   
   
    ' Te verwijderen tekens
    teVerwijderenTekens = "%/\"
   
    ' Verwijder de ongewenste tekens
    opgekuisteA3 = A3
    Dim i As Integer
    For i = 1 To Len(teVerwijderenTekens)
        opgekuisteA3 = Replace(opgekuisteA3, Mid(teVerwijderenTekens, i, 1), "_")
    Next i
   
   
    'Stel de nieuwe naam in
    Dim nieuweNaam As String
    nieuweNaam = opgekuisteA3 & ".xlsx"
    MsgBox nieuweNaam
   
    'Wijzig de naam van het bestand
     ThisWorkbook.SaveAs nieuweNaam
   
   
End Sub
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #1 Gepost op: 21 maart 2024, 10:15:35 »
Dizzl, even een snelle niet geteste reactie.... Volgens mij heeft de SaveAs methode een heel pad nodig en niet alleen maar de naam van het bestand dat je wil opslaan.
______________________________

Groet, Leo

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #2 Gepost op: 21 maart 2024, 11:39:45 »
Bedankt voor je reactie RedHead,

Ik ben redelijk zeker dat de bestandsnaam voldoende moet zijn.
Dit wordt uitgevoerd bij de gebeurtenis Workbook_BeforeSave =>Bij het bewaren zelf wordt de locatie  (het volledige pad) gekozen?
met vriendelijke groet,
dizzl
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Online SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.179
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #3 Gepost op: 21 maart 2024, 17:33:12 »
Hallo Dizzl,

sorry als ik inbreek in dit topic, maar ...

als je stelt:

 bestandsnaam = bewaarMap & "\" & celWaarde & ".xlsm"
moet je dan ook niet de rest van het pad (partitie, submap) ingeven, iets als:

bestandsnaam ="C:\" & Submap & bewaarMap & "\" & celWaarde & ".xlsm"dus ook eventuele submaps vermelden .....

Groeten,

:) SoftAid :)             

   
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #4 Gepost op: 22 maart 2024, 08:36:45 »
Dag,
onderstaande is een routine om een nieuwe naam aan het bestand te geven , het oude op te slaan , het nieuwe op te slaan en dan een snelkoppeling naar het nieuwe bestand op het bureaublad zetten....
Je zal zien of je hier iets mee kunt doen  ;).
Mvg,
Montagnard.

Nieuwenaam = ******************* vul hier de waarde in , in UW geval zou dit dan A3 zijn !!!! ********************************

MsgBox "het huidig bestand wordt eerst opgeslagen !" + (Chr(13)) + (Chr(13)) + "het nieuwe bestand wordt dan opgeslagen onder de naam : '" + Nieuwenaam + "'" + (Chr(13)) + (Chr(13)) + "er wordt ook een snelkoppeling naar het nieuwe bestand op het bureaublad gezet !" + (Chr(13)) + (Chr(13)) + "en daarna wordt Excel afgesloten !"

Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
MsgBox ("Kies eerst de map waar U het nieuwe bestand wilt opslaan :")
With FldrPicker
                .Title = "Kies de map om op te slaan"
                If .Show <> -1 Then Exit Sub
        Folder = .SelectedItems(1) & "\"
        End With
Opslaan_map = Folder
ActiveWorkbook.SaveCopyAs _
    Opslaan_map + Nieuwenaam & ".xlsm"

rem **** begin code om een snelkoppeling naar het nieuwe bestand op het bureaublad te zetten , je kan dat eventueel weglaten in Uw code !!!****
Set oWSH = CreateObject("WScript.Shell")
sPathDeskTop = oWSH.SpecialFolders("Desktop")
Set oShortcut = oWSH.CreateShortCut(sPathDeskTop & "\" & _
Nieuwenaam & ".lnk")
With oShortcut
.TargetPath = Opslaan_map + Nieuwenaam & ".xlsm"
.Save
End With
Set oWSH = Nothing
rem **** einde code snelkoppeling opslaan ****

Application.DisplayAlerts = False
            Application.Quit


Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #5 Gepost op: 22 maart 2024, 10:07:22 »
Super.
Dit werkt voor mij.
Bedankt, Montagnard
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
Re: Automatisch opslaan onder de naam die in de cel A3 staat
« Reactie #6 Gepost op: 22 maart 2024, 10:12:19 »
Super.
Dit werkt voor mij.
Bedankt, Montagnard
Graag gedaan !  ;)

 


www.combell.com