Thema Datum  Von Nutzer Rating
Antwort
Rot Excel Makro - Datenimport aus Text
07.08.2015 11:24:56 Fabian KH
NotSolved

Ansicht des Beitrags:
Von:
Fabian KH
Datum:
07.08.2015 11:24:56
Views:
1219
Rating: Antwort:
  Ja
Thema:
Excel Makro - Datenimport aus Text
Hallo Leute. Ich hoffe mir kann einer von euch helfen. Ich habe einen Makro aufgezeichnet, der mittlerweile auch super funktioniert. Dieser wird über einen "Button" in der Datei ausgeführt und klappt wunderbar beim einmaligen ausführen.

Ergebnis: zwei Arbeitsblätter. Die erste greift mit einem sverweis auf Daten des zweiten Tabellenblatts zu. Erwünschtes Ergebnis erreicht.

Problem: Wenn ich den Button noch einmal klicke (z.B. weil die zwei Dateien, die er importiert, aktualisiert worden), dann zählt er die Arbeitsblätter hoch. Das heisst die Daten die in "Tabelle2" gehören packt er dann in Tabelle3 - beim erneuten klicken in Tabelle4 usw. Dann funktioniert der sverweis aber auch nicht mehr und die Datei würde nach mehrmaligen Benutzen dutzende Tabellenblätter haben.

Ziel: Ich möchte, dass die zwei Dateien immer nur in jeweils Tabelle1 und Tabelle2 gezogen werden, bzw in den beiden Tabellenblätter die Daten aktualisiert werden.

Ich hoffe ihr versteht was ich versuche auszudrücken. Wäre richtig super, wenn mir jemand helfen kann. Kriege es einfach nicht hin.

Hier der Codetext.

Sub SCAR_Report_Erstellen()
'
' SCAR_Report_Erstellen Makro
'
' Tastenkombination: Strg+p
'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\310199888\Desktop\SCAR Main.csv", Destination:=Range("$A$1"))
       
        .Name = "SCAR Main"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("C:C").ColumnWidth = 20.57
    Columns("G:G").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Columns("F:F").Select
    Selection.TextToColumns Destination:=Range("F1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(10, 1)), TrailingMinusNumbers:=True
    Columns("G:G").Select
    Selection.Delete Shift:=xlToLeft
    Selection.TextToColumns Destination:=Range("G1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(10, 1)), TrailingMinusNumbers:=True
    Columns("H:H").Select
    Selection.Delete Shift:=xlToLeft
    Range("G2").Select
    ActiveCell.FormulaR1C1 = "COMPLETED ON"
    Range("H2").Select
    Sheets.Add After:=ActiveSheet
    With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\310199888\Desktop\Response Required Date.csv", Destination:= _
        Range("$A$1"))
       
        .Name = "Response Required Date"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Columns("B:B").Select
    Selection.TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(10, 1)), TrailingMinusNumbers:=True
    Columns("C:C").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    Selection.Copy
    Range("B2").Select
    ActiveSheet.Paste
    Sheets("Tabelle1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Columns("H:H").EntireColumn.AutoFit
    Range("H3").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],Tabelle2!C[-7]:C[-6],2,FALSE)"
    Range("H3").Select
    Selection.AutoFill Destination:=Range("H3:H1563")
    Range("H3:H1563").Select
    Selection.NumberFormat = "m/d/yyyy"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Rows("2:2").Select
    Selection.AutoFilter
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
Rot Excel Makro - Datenimport aus Text
07.08.2015 11:24:56 Fabian KH
NotSolved