Thema Datum  Von Nutzer Rating
Antwort
19.02.2014 15:20:39 steinbock87
NotSolved
Blau inhalte aus einer txt sortiert in ein excel sheet schreiben
19.02.2014 19:03:21 H27
NotSolved
25.02.2014 11:15:27 Gast24089
NotSolved
25.02.2014 18:20:49 Gast18266
NotSolved

Ansicht des Beitrags:
Von:
H27
Datum:
19.02.2014 19:03:21
Views:
823
Rating: Antwort:
  Ja
Thema:
inhalte aus einer txt sortiert in ein excel sheet schreiben

guck

Option Explicit

Sub TxtImport()
Const mRemoveStr As String = " Besitzer: "
Const mSourceExt As String = "Dateiendung ist (*.txt), *.txt"""
Dim mSourceFile As String
Dim mErrorStrng As String
Dim tWb As Workbook
Dim sWb As Workbook
Dim tSh As Worksheet
Dim c As Range
On Error GoTo errorhandler
Application.ScreenUpdating = False
'
Set tWb = ActiveWorkbook
'
mErrorStrng = "Auswahl ab aktuellem Verzeichnis"
  ChDrive Left(ActiveWorkbook.Path, _
    InStr(ActiveWorkbook.Path, "\") - 1)
  ChDir ActiveWorkbook.Path
  mSourceFile = Application.GetOpenFilename(mSourceExt)
  If mSourceFile = "Falsch" Then Exit Sub
'
mErrorStrng = "ein neues Tabellenblatt"
  tWb.Sheets.Add After:=tWb.Sheets(tWb.Sheets.Count)
  Set tSh = ActiveSheet
'
mErrorStrng = "Tabellenblatt bereits vorhanden"
  tSh.Name = Mid(Replace(mSourceFile, tWb.Path, ""), 2)
'
mErrorStrng = "Textdatei einlesen und kopieren"
  Workbooks.OpenText Filename:=mSourceFile, Origin:=xlMSDOS, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=True, OtherChar:="/", _
        FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
        TrailingMinusNumbers:=True
  [A1].CurrentRegion.Copy Destination:=tSh.[A2]
'
mErrorStrng = "Einspielung schließen"
  Application.DisplayAlerts = Not Application.DisplayAlerts
  ActiveWorkbook.Close
  Application.DisplayAlerts = Not Application.DisplayAlerts
'
mErrorStrng = "Spaltenüberschriften"
  With tSh.[A1:C1]
    .Font.Size = 9
    .Font.Bold = True
    .HorizontalAlignment = xlCenter
  End With
  [A1].FormulaR1C1 = "Pfad"
  [B1].FormulaR1C1 = "Besitzer"
  [C1].FormulaR1C1 = "Dateigröße"
'
mErrorStrng = "Prüfung auf Inhalt"
  If Range([B1], [B1].End(xlDown)).Count = Rows.Count Then GoTo errorhandler
  If Range([B1], [B1].End(xlDown)).Count <= 2 Then GoTo errorhandler
'
mErrorStrng = "Besitzer weg"
  For Each c In Range([B2], [B2].End(xlDown))
    c.FormulaR1C1 = Replace(c.FormulaR1C1, mRemoveStr, "")
  Next c
'
mErrorStrng = "sortieren ud filtern"
  With tSh.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range([A2], [A2].End(xlDown))
    .SortFields.Add Key:=Range([B2], [B2].End(xlDown))
    .SortFields.Add Key:=Range([C2], [C2].End(xlDown))
  End With
  With tSh.Sort
    .SetRange Range([A1], [C1].End(xlDown))
    .Header = xlYes
    .Apply
  End With
  With Range([A:A], [C:C])
    .EntireColumn.AutoFit
    .AutoFilter
  End With
  [A1].Select
'
On Error GoTo 0
Set tWb = Nothing
Set tSh = Nothing
Application.ScreenUpdating = True
Exit Sub
errorhandler:
MsgBox "Abbruch - Fehler bei : " & mErrorStrng
On Error GoTo 0
Set tWb = Nothing
Set tSh = Nothing
Application.ScreenUpdating = True
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
19.02.2014 15:20:39 steinbock87
NotSolved
Blau inhalte aus einer txt sortiert in ein excel sheet schreiben
19.02.2014 19:03:21 H27
NotSolved
25.02.2014 11:15:27 Gast24089
NotSolved
25.02.2014 18:20:49 Gast18266
NotSolved