werkBLAD als werkMAP wegschrijven

Status
Niet open voor verdere reacties.

harrybrinkman

Gebruiker
Lid geworden
7 nov 2019
Berichten
111
Besturingssysteem
Windows 11 home
Office versie
Ms Office 365
Toppers,

Ik gebruik een bestand waarin ik, na een druk op een knop, een specifiek werkBlad wegschrijf als een werkMap op een bepaalde locatie. Dit werkt prima maar is erg statisch, het locatiepad en de bestandsnaam staan immers "hard" in de code. Als ik nu dit bestand aan iemand anders geef moet ik telkens in de code het gewenste pad en bestandsnaam aanpassen en dat is niet wenselijk. Ik zoek dus een manier om mijn code dynamisch te maken. Dus ergens op een werkblad kunnen ingeven wat het pad en wat de bestandsnaam is. Op die manier is de gebruiker zelf 'baas' over deze zaken en hoef ik niet telkens de boel aan te passen. Ik gebruik nu een module met de volgende code:

Sub Exporteren()
Worksheets("Export").Copy
With ActiveWorkbook
.SaveAs Filename:="H:\Testbestanden\Exportbestanden\Export\EXPB-" & Format(Date, "ddmmyyyy") & ("-") & Format(Time, "hhmm"), FileFormat:=xlOpenXMLWorkbook
.Close savechanges:=False
End With
End Sub

Ik sluit een voorbeeld bij om e.e.a. duidelijk te maken, Wie kan me helpen ?
 

Bijlagen

Zo?
Code:
.SaveAs Filename:=Range("C11") & "\" & Range("C12"), FileFormat:=xlOpenXMLWorkbook
 
Edmoor, Zoals je inmiddels wel begrijpt is mijn kennis van VBA zeer beperkt :( ik heb het aangepast hier maar dat gaat nog niet goed. Volgens mij moet ik ook nog ergens aangeven dat Range ("C11") op werkblad Start staat. Hoe krijg ik dat er tussen? Ik heb het volgende geprobeerd maar dat werkt niet:

.SaveAs Filename:=Worksheets("Start") Range("C11") & "" & Worksheets("Start") Range("C12"), FileFormat:=xlOpenXMLWorkbook

Ik doe dus ergens nog iets fout ??
 
Laatst bewerkt:
Je vergeet punten op de juiste plek:
Code:
.SaveAs Filename:=Worksheets("Start")[COLOR="#FF0000"].[/COLOR]Range("C11") & "\" & Worksheets("Start")[COLOR="#FF0000"].[/COLOR]Range("C12"), FileFormat:=xlOpenXMLWorkbook
Zet code hier ook in codetags, anders vallen tekens weg die wel belangrijk zijn.
 
Laatst bewerkt:
Er moet nog een punt tussen.

Worksheets("Start").Range("C11")
 
Edmoor en HSV bedankt, het werkt !!

Harry
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan