csv bestanden aanmaken uit workbook

Status
Niet open voor verdere reacties.

spoelstra

Gebruiker
Lid geworden
8 feb 2016
Berichten
36
Hallo ik heb een probleem beschreven in bijgevoegd Excel sheet waar een routine is opgenomen die niet doet wat ik graag wil zien.

Beschrijving ed staat in bestand op sheet 7

Wie kan mij helpen.

Alvast bedankt voor jullie hulp

Jaap
 

Bijlagen

  • 65546-2015-1-0.xlsm
    25,6 KB · Weergaven: 34
Helpt dit u verder?
Code:
Sub inhaaisheets_wegschrijven_naar_E_data()
    Dim xWs As Worksheet
    Dim xcsvFile As String
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    For Each xWs In Application.ThisWorkbook.Worksheets
    If InStr(xWs.Name, "haai") Then
        xWs.Copy
        xcsvFile = "E:\data\Rica\" & Sheet1.Range("N2") & "-" & Sheet1.Range("N3") & "-" & xWs.Name & ".csv"
        Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
        FileFormat:=xlCSV, CreateBackup:=False
        Application.ActiveWorkbook.Saved = True
        Application.ActiveWorkbook.Close
        End If
    Next
     Application.ScreenUpdating = True
End Sub
 
Hallo gast0660,

Ziet er heel goed uit. Nu zie ik dat de csv bestanden de data wordt gescheiden door een , kun je de routine ook zo maken(regel toevoegen) dat dit een ; wordt?


Alvast weer hartelijk dank,

Jaap
 
csv betsand wegschrijven door middel van routine met scheidingstekeneen ;

Hallo,

Wie kan voor mij onderstaande routine zo aanpassen dat hij de dat het scheidingsteken in de .csv een punt komma (;) wordt ipv van een komma(,).

Verder werkt de routine prima .

Alvast bedankt,

Jaap
 
Je kunt ook het lijstscheidingsteken in windows wijzigen.
 
Gaat het dan wel goed als ik anders gebruikers op de button drukken die de csv's gaat aanmaken en deze instelling in Windows niet hebben??

Graag zou ik het in de routine afgeregeld willen hebben ongeacht hoe Windows is ingesteld.

Groet,

Jaap
 
Gebruik, ipv allerlei overbodige default-waarden:

Code:
Sub M_snb()
   for each it in sheets
     if instr(it.name,"haai") then
        it.copy
        ActiveWorkbook.SaveAs "G:\OF\voorbeeld" & it.name & ".csv", 6, , , , , , , , , , True
     end if
   next
End Sub
 
Laatst bewerkt:
Hallo SNB,

Het eerste stukje routine van gast0660 doet bijna alles wat ik wil namelijk:

De haaisheets worden weggeschreven naar een opgegeven directory waarbij naamgeving is gestuurd op basis van celverwijziging zodat uniforme namen worden weggeschreven.

csv bestanden worden door routine aangemaakt maar de data is gescheiden door een , ipv de ;

En daarna slaat hij het workbook op als xlsm waarbij de naamgeving van de haaisheets door routine bij aanmaken csv niet gewijzigd mogen worden in het Workbook.

Waar zou jij je aangegeven routine plaatsen zodat alles wat hierboven is beschreven wordt uitgevoerd?

Zou je hem helemaal eens willen uitschrijven?

alvast bedankt,

Jaap
 
Hoi SNB, daar heb je helemaal gelijk in. Heb al wat zitten stoeien maar lukt nog niet om het lopend te krijgen. Jou routine doet wel het scheidingsteken met ;

Komt dit doordat jij achter de .csv een 6 en een rijtje ,,,,,,, plaatst???

Als ik dit erachter plak in de bovenste routine krijg ik een VB fout.

Wat doet die 6?? heeft die een functie??

Jaap
 
markeer in de VBEditor .SaveAs, druk op F1: en daar is het antwoord.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan