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

Ansicht des Beitrags:
Von:
Gast18266
Datum:
25.02.2014 18:20:49
Views:
719
Rating: Antwort:
  Ja
Thema:
inhalte aus einer txt sortiert in ein excel sheet schreiben

Hi,

einfach&geschmacklos - aufgebohrt

Option Explicit

Sub TxtImport()
Const mNoFileStr As String = "\iwaswos.txt\nixdo.xls"
Const mNoExteStr As String = ".abc.123.woswasi"
Dim vgl As String
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 = "falsche Dateiendung oder nur Besitzer weg"
  For Each c In Range([B2], [B2].End(xlDown))
    c.FormulaR1C1 = Replace(c.FormulaR1C1, mRemoveStr, "")
    vgl = Trim(Mid(c.Offset(0, -1).Value, InStrRev(c.Offset(0, -1).Value, ".")))
    If InStr(mNoExteStr, vgl) > 0 Then Rows(c.Row).Clear
    If c.Offset(0, -1).Value <> "" Then
      vgl = Trim(Mid(c.Offset(0, -1).Value, InStrRev(c.Offset(0, -1).Value, "\")))
      If InStr(mNoFileStr, vgl) > 0 Then Rows(c.Row).Clear
    End If
  Next c
'
mErrorStrng = "sortieren ud filtern"
  With tSh.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("A:A")
    .SortFields.Add Key:=Range("B:B")
    .SortFields.Add Key:=Range("C:C")
  End With
  With tSh.Sort
    .SetRange Range("A:C")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .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

Gruß H27


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
19.02.2014 19:03:21 H27
NotSolved
25.02.2014 11:15:27 Gast24089
NotSolved
Blau inhalte aus einer txt sortiert in ein excel sheet schreiben
25.02.2014 18:20:49 Gast18266
NotSolved