Gegevens overbrengen naar een CSV bestand

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
720
Goedemorgen,

Even overnieuw proberen, gisteren Helpmij overbelast :d

Ben bezig om gegevens vanuit een xls bestand over te zetten.

Ben er bijna uit, maar er nog niet helemaal achter wat de mogelijkheden zijn en wat de opties zijn.
Begrijp inmiddels dat er geen VBA gebruikt kan worden en data gescheiden wordt met een komma.

Heb volgende formule gebruikt om gegevens over te zetten, maar de vraag is moet je alles in één keer selecteren of kan je regel per regel invoeren?

Code:
Private Sub DoorgaanKeuze3()
  Dim WB1 As Workbook, WB2 As Workbook
  Application.ScreenUpdating = False
  Set WB1 = ActiveWorkbook
  Set WB2 = Workbooks.Open(Filename:=ActiveWorkbook.Worksheets("Control").Range("F1") & ActiveWorkbook.Worksheets("Control").Range("F5") & ".xls")
  On Error Resume Next
  Set WB2 = Workbooks.Open(Filename:=ActiveWorkbook.Worksheets("Control").Range("F1") & ActiveWorkbook.Worksheets("Control").Range("F5") & ".xls") ' Bronbestand
  On Error GoTo 0
  If WB2 Is Nothing Then
    MsgBox ("WB2 =  Nothing")
    Set WB2 = Workbooks.Open(Filename:=ActiveWorkbook.Worksheets("Control").Range("F1") & ActiveWorkbook.Worksheets("Control").Range("F5") & ".xls")
  End If
  WB1.Activate

  [B]WB2.Sheets("DBase").Range("A3:K31") = WB1.Sheets("DBase").Range("A3:K31").Value[/B]
  With WB2
    .SaveAs ActiveWorkbook.Worksheets("Control").Range("F1") & ActiveWorkbook.Worksheets("Control").Range("F8") & ".csv"
    .Close
  End With
  Application.ScreenUpdating = True
End Sub
3 vb-tjes bijgevoegd en gebruik optie 3.

Al many thanks

Dutch
 

Bijlagen

  • KLMTelM V #01.00.03.xls
    71 KB · Weergaven: 29
  • KLMTelD V #01.00.01.xls
    21,5 KB · Weergaven: 22
  • KLMTelCSV V #01.00.01.csv
    23,5 KB · Weergaven: 27
Je zegt:
"Begrijp inmiddels dat er geen VBA gebruikt kan worden"

En vervolgens plaats je een VBA routine.
Dat is toch echt iets anders dan een formule.

Ook is me niet duidelijk wat je nu precies als csv bestand wilt opslaan.
Je doet niets anders de extensie van je document wijzigen van xls naar csv.
Dat maakt het geen csv bestand.

Maar kijk eens naar dit:
Bekijk bijlage KLMTelD V #01.00.01-1.xls
 
Goedemorgen Edmoor,

In Excel met behulp van VBA maak ik de DBase aan op een appart werkblad (DBase)

Vervolgens maak ik een nieuw excel file aan en kopieer het werkblad DBase hierop

Daarna sla ik dit excel file op als een CSV file. Dit doe ik met saveas, zie hieronder.

Code:
  With WB2
    .SaveAs ActiveWorkbook.Worksheets("Control").Range("F1") & ActiveWorkbook.Worksheets("Control").Range("F8") & ".csv"
    .Close
  End With

Is dit niet correct?
 
Nee, dat is geen CSV bestand.
 
heb hierboven, bij de vraagstelling 3 vb-tjes bijgedaan.

laatste is toch een CSV bestand?

deze is gemaakt met bovenstaande code


p.s. ben je file even aan het testen :)
 
Laatst bewerkt:
Dat is geen CSV bestand.
Dat is een Excel bestand met de extensie CSV.
Ik heb niet de indruk dat je weet wat een CSV bestand is.
Daarnaast heb je nog niet naar mijn voorbeeld gekeken, de code ingezien of het resultaat CSV bestand met Kladblok bekeken.
 
Hoi Edmoor zijn we weer.

Kon enige tijd niet op Helpmij komen vandaar.

Ook je file had ik nog niet gedownload.

Ben er nu mee bezig, 1e constatering is dat de originele tekst, zie hieronder

HTML:
Achternaam	Voornaam	Tussenvoegsel	DNN	Vast Tel. 1	Vast Tel. 2	Vast Tel3	Mobiel Tel. 1	Mobiel Tel. 2		
Berends	Jan	van der		1234567890	2345678901	3456789012	4567890123	i	j	k
Jansen	Jan 									
Klaasen	Piet	van								
Meersen	Eric									
Pietersen	Klaas									
Siersma	Teun									
7777										
8										
9										
10										
11										
test 41										
13										
14										
15										
16										
17										
18										
19										
20										
21

wordt
HTML:
Achternaam	Voornaam	Tussenvoegsel	DNN	Vast Tel. 1	Vast Tel. 2	Vast Tel3	Mobiel Tel. 1	Mobiel Tel. 2		
Berends	Jan	van der		1234567890	2345678901	3456789012	4567890123	i	j	k
Jansen	Jan 									
Klaasen	Piet	van								
Meersen	Eric									
Pietersen	Klaas									
Siersma	Teun									
7777										
8										
9										
10										
11										
test 41										
13										
14										
15										
16									
17									
18									
19									
20									
21

Hee in m'n excel worden de telefoonnummers anders, maar komt natuurlijk door excel

Kan helaas niet verder testen, want iPad waar het op komt is er niet momenteel.

Kun je me nog wel enigsinds uitleggen hoe de formules werken?
Code:
    With Blad
        Open lPad & "\" & lBst For Output As #CSV            bekend
        ReDim a_rlg(10)                                                  bekend
        For s_rlg = 3 To .UsedRange.Rows.Count               bekend
            If .Cells(s_rlg, 1) <> 0 Then
                
                a_rlg(0) = dq & .Cells(s_rlg, 1) & dq     'Achternaam"
                a_rlg(1) = dq & .Cells(s_rlg, 2) & dq     'Voornaam
                a_rlg(2) = dq & .Cells(s_rlg, 3) & dq     'Tussenvoegsel
                a_rlg(3) = dq & .Cells(s_rlg, 4) & dq     'DNN
                a_rlg(4) = dq & .Cells(s_rlg, 5) & dq     'Vast Tel 1
                a_rlg(5) = dq & .Cells(s_rlg, 6) & dq     'Vast Tel 2
                a_rlg(6) = dq & .Cells(s_rlg, 7) & dq     'Vast Tel 3
                a_rlg(7) = dq & .Cells(s_rlg, 8) & dq     'Mobiel Tel 1
                a_rlg(8) = dq & .Cells(s_rlg, 9) & dq     'Mobiel Tel 2
                a_rlg(9) = dq & .Cells(s_rlg, 10) & dq    'Kolom J
                a_rlg(10) = dq & .Cells(s_rlg, 11) & dq   'Kolom K
                
                Print #CSV, Join(a_rlg, ";")
            End If
        Next s_rlg
        
        Close #CSV

Begrijp dat hij het per regel neerzet rlg()
dq = ?

Ga nu even stoppen en zodra iPad er weer is kom ik er nog wel op terug.

Alvast Many Thanks en een mooie zondag

Vr. Gr.

Dutch
 
Ik weet niet waar je die teksten vandaan haalt, maar dat is nog steeds geen CSV.
Het hoort er uit te zien zoals bij mij:
Code:
"Achternaam";"Voornaam";"Tussenvoegsel";"DNN";"Vast Tel. 1";"Vast Tel. 2";"Vast Tel3";"Mobiel Tel. 1";"Mobiel Tel. 2";"";""
"Berends";"Jan";"van der";"";"1234567890";"2345678901";"3456789012";"4567890123";"i";"j";"k"
"Jansen";"Jan ";"";"";"";"";"";"";"";"";""
"Klaasen";"Piet";"van";"";"";"";"";"";"";"";""
"Meersen";"Eric";"";"";"";"";"";"";"";"";""
"Pietersen";"Klaas";"";"";"";"";"";"";"";"";""
"Siersma";"Teun";"";"";"";"";"";"";"";"";""
"7777";"";"";"";"";"";"";"";"";"";""
"8";"";"";"";"";"";"";"";"";"";""
"9";"";"";"";"";"";"";"";"";"";""
"10";"";"";"";"";"";"";"";"";"";""
"11";"";"";"";"";"";"";"";"";"";""
"test 41";"";"";"";"";"";"";"";"";"";""
"13";"";"";"";"";"";"";"";"";"";""
"14";"";"";"";"";"";"";"";"";"";""
"15";"";"";"";"";"";"";"";"";"";""
"16";"";"";"";"";"";"";"";"";"";""
"17";"";"";"";"";"";"";"";"";"";""
"18";"";"";"";"";"";"";"";"";"";""
"19";"";"";"";"";"";"";"";"";"";""
"20";"";"";"";"";"";"";"";"";"";""
"21";"";"";"";"";"";"";"";"";"";""

Het bestand dat door mijn voorbeeld wordt gemaakt moet je met Kladblok openen, niet met Excel.
En op een ipad gaat die VBA code niet werken.
 
Laatst bewerkt:
Code:
Sub M_snb()
  Blad4.UsedRange.Copy

  With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .GetFromClipboard
    CreateObject("scripting.filesystemobject").createtextfile("G:\OF\moor.csv").write .GetText
  End With
End Sub
 
Hoi Edmoor,

Ja klopt en ook getest met kladbok.

Het CSV bestand is uiteindelijk bedoeld voor een telefoon.

Kan het helaas niet verder testen op die telefoon.

Net updatet gehad van m'n zoon.
 
Laatst bewerkt:
Hoi snb,

Als u nu eens wat smeuïger zou zijn met bv enige uitleg erbij..

We zijn niet allemaal zo vergevorderd als u bent.

Heb respect voor uw kennis, maar als leek, zeggen die formules me niets, kan het niet volgen.

Sorry snb
 
Code:
Sub M_snb()
  [COLOR="#0000FF"]Blad4.UsedRange.Copy[/COLOR]

  With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    .GetFromClipboard
    CreateObject("scripting.filesystemobject").createtextfile([COLOR="#0000FF"]"G:\OF\moor.csv"[/COLOR]).write .GetText
  End With
End Sub
Het mooie aan het verhaal is dat er hier niet veel uitleg bij moet, je moet enkel wat parameters aanpassen en klaar.
Blad4.usedrange verwijst naar het gebruikte bereik van Blad4, codename voor je tabblad "Dbase", dus kopieer je de gewenste data naar je clipboard.
De rest is turbotaal, waar je je niet te veel zorgen hoeft over te maken, gewoon laten uitvoeren. Met je auto rij je toch ook gewoon, zonder je vragen te stellen over hoe de carburator werkt.
Pas vanaf die createtextfile kan je die "G:\OF\moor.csv" nog wijzigen in het path en de filename die je werkelijk wenst.
Dus geen koudwatervrees, gewoon proberen en enkel stoeien met die 2 zaakjes.
Straks kan je die textfile openen en als separator wordt de "tab" gebruikt ipv bv ;
 
Laatst bewerkt:
Goedemorgen Cow,

Thanks het is zo simpel ff een korte uitleg erbij :)

Kom zelf wel een heel eind, maar enig support zou er wel moeten wezen :)

Als ik iets maak wil ik het wel proberen te begrijpen.

Vr. Gr.

Dutch
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan