VisualBasic Daten auf Excel-Sheet schreiben & Trennzeichen berücksichtigen

E

EnHoE007

Gast
Hallo zusammen

Könnt ihr mir bitte helfen und zwar:

Ihr kennt sicher die Funktion "Externe" Daten Importieren im EXCEL, wo man das Trennzeichen (Meistens Tab oder Komma) eingeben kann und man bekommt dann eine schöne Tabelle.

Mein Inputfile Sieht folgendermassen aus: (Wurde mit einem PGM zuvor gemacht)

Vorname¦Nachname¦Geb¦ ... ist an einem String und alle Wörter sind mit Trennzeichen "¦" getrennt.

Nun möchte ich halt per "Knopfdruck" auf dem Blatt auf welchem ich mich befinde die Funktion "Externe Daten Importieren" ausführen lassen. Ich bin soweit gekommen:

Code:
Private Sub btn_sfs_ausw_Click()

'KONSTANTEN
Const delimiter = "¦"

'DEKLARATIONEN
Dim FileStream, InputFile
Dim mySheet As Worksheet
Dim FileAuswahl As FileDialog
Dim InputFilname As Variant
Dim Header As String
Dim Inputline As String

Set FileAuswahl = Application.FileDialog(msoFileDialogFilePicker)
If FileAuswahl.Show = -1 Then
   InputFilename = FileAuswahl.SelectedItems.Item(1)
   tb_sfs.Text = FileAuswahl.SelectedItems.Item(1)
Else
   MsgBox ("Keine Datei ausgewählt!")
   Exit Sub
End If

Set FileStream = CreateObject("Scripting.FileSystemObject")
Set InputFile = FileStream.OpenTextFile(InputFilename, 1, False)
Header = InputFile.ReadLine

Do While InputFile.AtEndOfStream <> True
   Inputline = InputFile.ReadLine
   
   Set mySheet = sheet_filter
   mySheet.Name = "Filter"
        
   'Hier muss jetzt Di Zeile aufgesplittet Werden und der Delimiter richtig aufgelöst werden und _
   ' Zeilenweise aufs Blatt geschrieben werden.
                
Loop
InputFile.Close
    
End Sub

Ich denke die Aktion muss ich nun an der markierten Kommentarstelle reinwursteln.


Danke für jeglichen Input!

Gruss
 
'Hier muss jetzt Di Zeile aufgesplittet Werden und der Delimiter richtig aufgelöst werden und _
' Zeilenweise aufs Blatt geschrieben werden.
Ja, und wo liegt das Problem? Du liest es zeilenweise ein und dann kannst du es bei deimen Trennzeichen jeweils splitten.

Gruß,

badday
 
@badday Das sind immer so geile Antworten...

Wenn ich gewusst hätte wie ich es ausgebe, hätte ich nicht hier gefragt...


Hast du vielleicht einen Codeschnippsel?
 
Hier mal eine Testsub, musst du an dein Programm anpassen:

Code:
   Dim zeile As String
   zeile = "Test1,Test2,Test3,Test4"
   Dim Tile() As String
   Tile = Split(zeile, [COLOR="Green"]","[/COLOR])

   With ActiveSheet
      .range(.Cells([COLOR="Red"]1[/COLOR], [COLOR="Red"]1[/COLOR]), .Cells([COLOR="Red"]1[/COLOR], UBound(Tile) + [COLOR="Red"]1[/COLOR])).Value = Tile
   End With

Ich habe jetzt nur einen konstanten String mit Komma als Trennung genommen (grün).
Die Roten stellen geben die Position an, an der die Liste ausgegeben wird. Da sollten dann variable rein.
 
Zurück
Oben