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

een enkele sheet opslaan, gebruiker bepaald waar

Status
Niet open voor verdere reacties.

ewh

Gebruiker
Lid geworden
7 jul 2010
Berichten
273
wie kan helpne?

in workbook komt de sheet "aanvraag formulier" voor. Dit formulier wordt gevuld door een userform.

met dit commando Application.Dialogs(xlDialogSaveAs).Show krijgen we keurig de dialoog om zelf een lokatie uit te zoeken
maar we willen dan wel graag dat de bestandsnaam al ingevuld is

aanvraag formulier en dan de naam ( deze staat op C16 van het aanvraag formulier ) dus bestandsnaam wordt dan "aanvraag formulier jansen " bijvoorbeeld
 
Het eerste argument is de naam van je bestand...

Application.Dialogs(xlDialogSaveAs).Show ""aanvraag formulier " & activesheet.range("C16").value
 
Laatst bewerkt:
Code:
Sub opslaan()
Dim naam As String
Sheets("aanvraag formulier").Select
naam = (ActiveSheet.Range("C16").Value) & " " & "aanvraag formulier" & ".xls"
Application.Dialogs(xlDialogSaveAs).Show naam
End Sub
Code:

deze had ik gevonden, na veel proberen, maar toch.

nu wordt het hele workbook gekopieerd en opgeslagen , terwijl het de bedoeling is dat alleen tab blad "aanvraag formulier"wordt gekopieerd en opgeslagen.( ook met de code van Ginger )

als ik nu op de "C" schijf het de sheet wil opslaan blijkt dat ik een melding krijg dat ik het bestand niet kan opslaan om dat hij alleen lezen is ?
terwijl het oorspronkelijke bestand goed staat ingesteld ( alle vinkjes staan uit )

moet ik dan iets in de code mee geven ? en zo ja wat ?
 
Laatst bewerkt:
ewh, Als je alleen 1 sheet uit een workbook wilt opslaan, zal je anders tewerk moeten gaan. Je moet éérst een kopie maken van zo'n sheet (activesheet.copy) en die dan vervolgens met je code laten opslaan.
Kijk ook eens naar de GetSaveAsFilename methode. Staat een prima uitleg over in de Help van je VBA module.
 
Laatst bewerkt:
@Ewh

Gebruik nou eens eindelijk code tags rondom je code !!
 
SNB , sorry , maar een beetje uitleg erbij ?
 
bedankt voor de uitleg en hulp

dit is hem geworden
Code:
Sub opslaan()

Dim naam As String

Sheets("aanvraag formulier").Select
ActiveSheet.Copy
naam = "aanvraag formulier" & " - " & ActiveSheet.Range("C16").Value & ".xls"

Application.Dialogs(xlDialogSaveAs).Show naam

End Sub
nu nog het bestand sluiten ?
en weer terug naar het oorspronkelijke bestand "aanvraag"
 
Werkt dit ook bij jou?
Code:
Sub opslaan()
Sheets("aanvraag formulier").Copy
With Application.FileDialog(msoFileDialogSaveAs)
    .InitialFileName = "aanvraag formulier - " & Range("C16").Value
    .FilterIndex = 4
    .AllowMultiSelect = False
 If .Show Then .Execute
End With
ActiveWorkbook.Close
End Sub
 
code ingevoegd en krijg een fout melding op
Code:
.Execute

wel de saveas dialoog gezien , betreft was goed ingevuld en opslaan als stond "Gecombineerd webpaginabestand"

is dit wat je wilde weten?
 
alle textboxen en comboboxen leeg maken in een userform

we hebben een userform1 met frame1 en frame2
verdeeld hier over zijn een aantal comboboxen en textboxen aanwezig .
nadat de gebruiker "opslaan" gekozen heeft, zal de ingevulde data worden weg geschreven op een sheet. en nahet opslaan verschijnt de userform1 weer.

met welk commando kan ik in een keer alle data weg halen? anders moet ik regel voor regel de textboxen en comboboxen leeg maken , moet anders kunnen denk ik zo ?
 
Misschien dat .execute niet werkt in Excel 2003 en eerder.

Zo dan?
Code:
Sub opslaan()
Sheets([COLOR=#3E3E3E]"aanvraag formulier"[/COLOR]).Copy
With Application.FileDialog(msoFileDialogSaveAs)
    .InitialFileName = "aanvraag formulier - " & Range("C16").Value
    .FilterIndex = 4
    .AllowMultiSelect = False
 If .Show = False Then ActiveWorkbook.Close False
 End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan