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

Sheet als .csv opslaan

Status
Niet open voor verdere reacties.

Juser100

Gebruiker
Lid geworden
4 aug 2011
Berichten
16
Hallo,

Ik heb een tweetal sheets, waarvan op sheet 1 data staat en op sheet 2 een aantal parameters ('Instellingen'). Nu wil ik graag dat sheet 1 wordt weggeschreven op de locatie die ik in sheet 2 opgeef in cel E8. De gewenste bestandsnaam is opgegeven in cel E9, ook op sheet 2.

Onderstaande de code die ik tot nu heb:

Code:
Sub Publiceren()

'Variabelen definiëren
Dim fs

'Locatie controleren
Set fs = CreateObject("Scripting.FileSystemObject")

If fs.FolderExists(Sheets("Instellingen").Range("$E$8").Value) = True Then

'Publiceren
ActiveWorkbook.SaveAs Filename:= _
(Sheets("Instellingen").Range("$E$9")), FileFormat:=xlCSV _
, CreateBackup:=False
Application.DisplayAlerts = False
End If

End Sub

Ik krijg geen foutmeldingen bij het uitvoeren van de macro, echter wordt er ook geen csv bestand aangemaakt. Wat klopt er niet aan bovenstaande code?
 
Laatst bewerkt:
Heb je met een messagebox geprobeerd te zien of hij goed door de IF komt (je kun natuurlijk ook even een breakpoint zetten)? Ik zou daarna ook even een messagebox met " Sheets("Instellingen").Range("$E$9") " doen.
 
Heb er een messagebox tussengeplaatst, deze komt op met de bestandsnaam .csv dus dit lijkt me correct te werken.

Zie wel dat er nu eerst de melding/vraag komt dat er al een bestand aanwezig is en of deze overschreven mag worden. Als ik dan op ja klik word er nog steeds geen bestand aangemaakt maar zie ik wel de naam van de sheet 'Instellingen' wijzigen in de bestandsnaam voor zover deze past.
 
en je weet zeker dat in de file details de directory overeenkomt (file menu -> properties -> general tab) ?
 
Het excel bestand staat zelf in een andere directory. Vandaar dat ik een sheet instellingen heb opgenomen om hierin aan te geven waar het csv-bestand terecht moet komen.
 
Eh ja, maar waar voeg je cel E8 en E9 dan samen? je kijkt of de directory bestaat in cel E8 en vervolgens geef je een save commando naar naam E9. Standaard wordt de CSV dan opgeslagen naar de XLS directory. wil je niet saven naar E8+E9 ?
 
Je hebt gelijk! Het bestand wordt wel aangemaakt als ik een cel E7 erboven plaats waarin de volledige naam (pad + bestand) samenvoeg. Echter wordt er nu een csv-bestand aangemaakt van de sheet 2 (Instellingen) i.p.v. sheet 1 met data.
 
Sheets("data").SaveAs Filename:= (Sheets("Instellingen").Range("$E$7")), FileFormat:=xlCSV, CreateBackup:=False
 
Laatst bewerkt:
Super, het werkt!
(vrij logisch ook aangezien de sheet eerder niet specifiek vermeldt werd)

Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan