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

excel bestand omvormen naar CSV

Status
Niet open voor verdere reacties.

Krisser

Gebruiker
Lid geworden
11 sep 2019
Berichten
7
Maandelijks herwerk ik een excel bestand naar CSV om zo een nieuwe correcte CSV lijst te verkrijgen die gebruikt wordt in ons telefonieprogramma en zo telefoonnummer herkenning toelaat.
Hiervoor moet ik redelijk veel bewerkingen doen zoals kolommen/rijen verwijderen verschillende kolommen met elkaar combineren en verplaatsen.
Kolom A en rij 1 en 2 mogen verwijderd worden, de gegevens van kolom B/C/G/H/I mogen gecombineerd worden en in de nieuwe kolom A komen
Kolom E mag verwijderd worden en de gegevens van Kolom F mogen hervormd worden naar een 11 cijferig getal (zonder spaties of tussenliggend teken) met een dubbele voorloop 0 zodanig dat het nummer er zo uitziet 00444444444
dus uiteindelijk komt er in kolom A de gecombineerde naam en alle bijkomende info uit kolom B/C/G/H/I van het originele bestand te staan, in kolom B niets en kolom C bevat het 11-cijferig telefoonnummer.

en dan uiteindelijk het bestand opslaan met CSV met als lijstscheidingsteken ; ....

IS redelijk veel maar wie o wie wilt/kan mij hier mee helpen met bijv een macor of voorbeeldbestand waar ik de lijst maandelijks in kan kopieren ? ... .... het betreft hier een bestand met bijna 4000 mensen in opgenomen
 

Bijlagen

  • voorbeeld.png
    voorbeeld.png
    6,7 KB · Weergaven: 32
  • excel to csv.xlsx
    9,4 KB · Weergaven: 27
Laatst bewerkt:
Je voorbeeld bevat geen gegevens in kolom J.
Heb je een voorbeeld CSV met teninste twee rijen (anoniem gemaakte) gegevens en een voorbeeld van het eindresultaat gebruik makend van deze CSV?
De truuk is om gebruik te maken van de knop Gegevens, Van Tekst/CSV.
 
mijn excuses kolom J mag genegeerd worden ... :) zal het bericht aanpassen
 

Bijlagen

  • voorbeeld CSV.txt
    29 bytes · Weergaven: 27
Mijn bijdrage met gebruik van het bestand in #1:
Code:
Sub Export2CSV()
    Dim Regel(6) As String
    Dim CSV As String
    Dim Lcsv As Long
    Dim i As Long
    
    Lcsv = FreeFile
    CSV = ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "csv"
    
    Open CSV For Output As #Lcsv
    With Sheets("Blad1")
        For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
            Regel(0) = .Cells(i, 2)
            Regel(1) = .Cells(i, 3)
            Regel(2) = .Cells(i, 7)
            Regel(3) = .Cells(i, 8)
            Regel(4) = .Cells(i, 9)
            Regel(5) = .Cells(i, 4)
            Regel(6) = IIf(i > 2, "0" & Replace(Replace(.Cells(i, 6), " ", ""), "-", ""), .Cells(2, 6))
            Print #1, Join(Regel, ";")
        Next i
    End With
    Close #Lcsv
End Sub
 
Laatst bewerkt:
Volgens mij klopt het voorbeeld van jouw .csv bestand niet met het gevraagde in de OP. Met onderstaande code worden de kolommen B/C/G/H/I samengevoegd in de eerste kolom, de tweede kolom blijft leeg en in de derde kolom komt het telefoonnummer.

Code:
Sub VenA()
  ar = Sheets("Blad1").Cells(1).CurrentRegion
  For j = 3 To UBound(ar)
    c00 = c00 & ar(j, 2) & " " & ar(j, 3) & " " & ar(j, 7) & " " & ar(j, 8) & " " & ar(j, 9) & ";;" & Format(Replace(Replace(ar(j, 6), " ", ""), "-", ""), "00000000000") & vbCrLf
  Next j
  CreateObject("scripting.filesystemobject").CreateTextFile(ThisWorkbook.Path & "\" & Format(Now, "yyyymmddhhmm") & ".csv").write c00
End Sub
 
Sorry voor de late reactie maar het probleem is opgelost dankzij de oplossing die VenA aanbracht :) de oplossing van edmoor splitste alles op met een scheidingsteken ... :-(
Ik dank jullie heel hartelijk, nu is het echt een plezier om deze lijst maandelijks eens te downloaden en te herbewerken voor gebruik :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan