PeterBijns
Gebruiker
- Lid geworden
- 25 nov 2008
- Berichten
- 160
Beste kenners,
Ik heb een Excel bestand met 21 kolommen de inhoud van die kolommen wil ik exporteren naar een txt bestand en de inhoud van de kolommen als komma gescheiden.
Hieronder een voorbeeld:
1,"0","0","0200","kaas","","00702","hard",3,0,"02RT","01","","","OFF","OFF","OFF","OFF","OFF","OFF","0200"
2,"0","0","0201","koek","","00705","zacht",3,0,"02GT","30","","","OFF","OFF","OFF","OFF","OFF","OFF","0201"
3,"0","0","0202","pap","","00704","droog",3,0,"02RT","01","","","OFF","OFF","OFF","OFF","OFF","OFF","0202"
Ik heb van iemand van dit forum een macro gekregen en die werkt op zich perfect alleen niet helemaal goed.
Die macro zet alle kolommen om naar komma gescheiden met de aanhalingstekens ertussen, alleen voor sommige kolommen is dat ongewenst, met name de eerste kolom daar moet alleen een komma komen en voor de 9e en 10e kolom moet ook alleen een komma komen en geen aanhalingstekens, mijn vraag is hoe krijg ik dat voor elkaar?
Er zijn ook een paar kolommen waar geen inhoud in komt voor die kolommen geldt dat ze wel worden omgezet met aanhalingstekens.
Hieronder de macro welke voor alle kolommen aanhalingstekens geeft en het bestand exporteert naar een txt bestand.
Sub ExportTekst()
Dim mRow As Long
Dim mCol As Long
Dim mReg As String
Dim Bst As String
Bst = Environ("D:\inhoud") & ActiveSheet.Name & ".txt"
Open Bst For Output As #1
mRow = ActiveSheet.UsedRange.Rows.Count
mCol = ActiveSheet.UsedRange.Columns.Count
For i = 1 To mRow
For j = 1 To mCol
mReg = mReg & Chr(34) & Cells(i, j) & Chr(34)
If j < mCol Then mReg = mReg & ","
Next j
Print #1, mReg
mReg = ""
Next i
Close #1
End Sub
Alvast bedankt voor een oplossing want ik heb er erg veel werk aan om het txt bestand zo te krijgen dat sommige kolommen niet de aanhalingstekens hebben nadat bovenstaande macro zijn werk heeft gedaan.
Groet, Peter
Ik heb een Excel bestand met 21 kolommen de inhoud van die kolommen wil ik exporteren naar een txt bestand en de inhoud van de kolommen als komma gescheiden.
Hieronder een voorbeeld:
1,"0","0","0200","kaas","","00702","hard",3,0,"02RT","01","","","OFF","OFF","OFF","OFF","OFF","OFF","0200"
2,"0","0","0201","koek","","00705","zacht",3,0,"02GT","30","","","OFF","OFF","OFF","OFF","OFF","OFF","0201"
3,"0","0","0202","pap","","00704","droog",3,0,"02RT","01","","","OFF","OFF","OFF","OFF","OFF","OFF","0202"
Ik heb van iemand van dit forum een macro gekregen en die werkt op zich perfect alleen niet helemaal goed.
Die macro zet alle kolommen om naar komma gescheiden met de aanhalingstekens ertussen, alleen voor sommige kolommen is dat ongewenst, met name de eerste kolom daar moet alleen een komma komen en voor de 9e en 10e kolom moet ook alleen een komma komen en geen aanhalingstekens, mijn vraag is hoe krijg ik dat voor elkaar?
Er zijn ook een paar kolommen waar geen inhoud in komt voor die kolommen geldt dat ze wel worden omgezet met aanhalingstekens.
Hieronder de macro welke voor alle kolommen aanhalingstekens geeft en het bestand exporteert naar een txt bestand.
Sub ExportTekst()
Dim mRow As Long
Dim mCol As Long
Dim mReg As String
Dim Bst As String
Bst = Environ("D:\inhoud") & ActiveSheet.Name & ".txt"
Open Bst For Output As #1
mRow = ActiveSheet.UsedRange.Rows.Count
mCol = ActiveSheet.UsedRange.Columns.Count
For i = 1 To mRow
For j = 1 To mCol
mReg = mReg & Chr(34) & Cells(i, j) & Chr(34)
If j < mCol Then mReg = mReg & ","
Next j
Print #1, mReg
mReg = ""
Next i
Close #1
End Sub
Alvast bedankt voor een oplossing want ik heb er erg veel werk aan om het txt bestand zo te krijgen dat sommige kolommen niet de aanhalingstekens hebben nadat bovenstaande macro zijn werk heeft gedaan.
Groet, Peter