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

VBA opslaan met waarde uit cel onder custom formaat

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
337
kan iemand me helpen om de juiste code te vinden? neem nu dat in cel A1 de waarde 12345 zou staan dan zou ik als bestandsnaam graag 12a34b5 gehad hebben.
ik vertrek van volgende code

Code:
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Sheets("Sheet1").[A1].Value & ".xlsm"

maar van zodra ik na value dit zet = Format("00a00b0") loop ik vast
 
Laatst bewerkt:
Het voorbeeld zit in het bijgevoegde bestand.

De value van cel A1 wordt hier eerst opgesplitst, daarna wordt deze gebruikt in de macro.

Bekijk bijlage 12a34b5.xlsm

Code:
Sub opslaanals()
Dim c As Long
Dim d As Long
Dim e As Long
c = Worksheets("Blad1").Range("A3").Value
d = Worksheets("Blad1").Range("A5").Value
e = Worksheets("Blad1").Range("A6").Value

ActiveWorkbook.SaveAs Filename:="C:\Users\Jan\Documents\" & c & "a" & d & "b" & e & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End Sub
 
Op deze manier werkt format wel
Code:
Strings.Format(nr, "##a##b#")
nr is het getal.

Mvg Leo
 
Laatst bewerkt:
De code zou er zou uit kunnen zien

Code:
dim sNaam as string
    sNaam =Strings.Format(sheet1.[a1], "##a##b#) 
         ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & sNaam & ".xlsm"

Sheet1 is voor de Engelse versie. Voor de Nederlandse wordt dat Blad1
mvg Leo
 
Laatst bewerkt:
Hallo Jan en Leo,

hartelijk bedankt voor jullie hulp en tips. ik ga er wat testen met doen.

jullie zijn super.

thx
 
Hallo Jan, Leo,

@Jan: met jouw code kan ik voorlopig verder. nogmaals heel erg bedankt

@Leo: heb jouw oplossing ook eens uitgeprobeerd maar die krijg ik niet werkende. de tweede lijn in je code komt in het rood te staan. maar ook jij alvast heel erg bedankt voor je bijdrage
 
Niet dat het nog uitmaakt, want je bent er al uit.
Maar ik ben de laatste aanhalingstekens vergeten. Stomme fout:rolleyes:


Code:
dim sNaam as string
    sNaam =Strings.Format(sheet1.[a1], "##a##b#[COLOR="#FF0000"]"[/COLOR]) 
         ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & sNaam & ".xlsm"

Mvg Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan