Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 6 van 6

Onderwerp: excel bestand omvormen naar CSV

  1. #1
    Junior Member
    Geregistreerd
    11 september 2019
    Vraag is opgelost

    excel bestand omvormen naar CSV

    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
    Bijgevoegde kleine afbeeldingen Bijgevoegde kleine afbeeldingen Klik op afbeelding voor grotere versie

Naam:  voorbeeld.png‎
Bekeken: 17
Grootte:  6,7 KB  
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door Krisser : 11 september 2019 om 09:45

  2. #2
    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.
    Groetjes,

    Jan Karel Pieterse
    Excel MVP jkp-ads.com

  3. #3
    Junior Member
    Geregistreerd
    11 september 2019
    mijn excuses kolom J mag genegeerd worden ... :-) zal het bericht aanpassen
    Bijgevoegde bestanden Bijgevoegde bestanden

  4. #4
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    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 aangepast door edmoor : 11 september 2019 om 23:57
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  5. #5
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    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
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  6. #6
    Junior Member
    Geregistreerd
    11 september 2019
    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 :-)

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren