Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Datenblatt, Tabelle aus Textdatei erzeugen


Betrifft: Datenblatt, Tabelle aus Textdatei erzeugen von: Jens
Geschrieben am: 29.08.2016 13:47:48

Hallo.

ich habe in einem Datenblatt eine Tabelle(A3:AD100) mit Daten.
Diese Daten möchte ich mit einem Makro löschen und dann mit einer Textdatei, die durch Semikolons getrennt ist, wieder füllen.

Wie kann ich das machen?

Gruss Jens

  

Betrifft: AW: Datenblatt, Tabelle aus Textdatei erzeugen von: fcs
Geschrieben am: 30.08.2016 00:09:41

Hallo Jens,

etwa wie folgt.

Gruß
Franz

Sub prcGet_Data_from_Text_File()
    Dim wksZiel As Worksheet
    Dim varText, wkbText As Workbook, wksText As Worksheet
    
    varText = Application.GetOpenFilename("Textfile (*.txt),*.txt", _
        Title:="Bitte zu importierende Textdatei auswählen", _
        MultiSelect:=False)
    
    If varText = False Then Exit Sub
    
    Set wksZiel = ActiveSheet
    
    Application.ScreenUpdating = False
    
    Application.Workbooks.OpenText Filename:=varText, _
        Startrow:=1, _
        DataType:=xlDelimited, _
        Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False, _
        local:=True
    
    Set wkbText = Application.Workbooks(Mid(varText, InStrRev(varText, "\") + 1))
    Set wksText = wkbText.Sheets(1)
    
    wksZiel.Range("A3:AD100").ClearContents
    
    With wksText
        .Range(.Cells(1, 1), .Cells(.UsedRange.Row + .UsedRange.Rows.Count - 1, 30)).Copy
    End With
    wksZiel.Range("A3").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    
    wkbText.Close savechanges:=False
    
    Range("A3").Select
    
    Application.ScreenUpdating = True
End Sub



  

Betrifft: AW: Datenblatt, Tabelle aus Textdatei erzeugen von: Jens
Geschrieben am: 30.08.2016 06:11:28

Danke Franz für die Antwort.

Werde das nachher ausprobieren


  

Betrifft: AW: Datenblatt, Tabelle aus Textdatei erzeugen von: Jens
Geschrieben am: 30.08.2016 07:51:45

Vielen Dank Franz.

Das ist genau, was ich gesucht habe.
Habe die Zellen noch angepasst und jetzt klappt es. Danke

Wenn ich nun noch fest eine Datei zum hoch Laden angeben möchte. Was muss ich ändern?


  

Betrifft: AW: Datenblatt, Tabelle aus Textdatei erzeugen von: fcs
Geschrieben am: 30.08.2016 18:59:05

Hallo Jens,

wenn der Dateiname sich nicht ändert, dann kannst du in der Variablen drekt zuweisen.
Aber es sollte dann geprüft werden, ob die Datei auch vorhanden ist.

Gruß
Franz

Sub prcGet_Data_from_Text_File()
    Dim wksZiel As Worksheet
    Dim varText, wkbText As Workbook, wksText As Worksheet
    
    varText = "C:\users\Public\Test\SAP_Testdata.txt"
    
    If Dir(varText) = "" Then
        MsgBox "Datei" & vbLf & varText & vbLf & "nicht gefunden!"
        Exit Sub
    End If
    
    Set wksZiel = ActiveSheet
    
    Application.ScreenUpdating = False
    
    Application.Workbooks.OpenText Filename:=varText, _
        Startrow:=1, _
        DataType:=xlDelimited, _
        Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False, _
        local:=True
    
    Set wkbText = Application.Workbooks(Mid(varText, InStrRev(varText, "\") + 1))
    Set wksText = wkbText.Sheets(1)
    
    wksZiel.Range("A3:AD100").ClearContents
    
    With wksText
        .Range(.Cells(1, 1), .Cells(.UsedRange.Row + .UsedRange.Rows.Count - 1, 30)).Copy
    End With
    wksZiel.Range("A3").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    
    wkbText.Close savechanges:=False
    
    Range("A3").Select
    
    Application.ScreenUpdating = True
End Sub



  

Betrifft: AW: Datenblatt, Tabelle aus Textdatei erzeugen von: Jens
Geschrieben am: 31.08.2016 07:53:48

Viel Danke Franz


Beiträge aus den Excel-Beispielen zum Thema "Datenblatt, Tabelle aus Textdatei erzeugen"