VBA - Daten kopieren und in erste freie Zelle eintragen
#11
Hallo, ich habe nun die Datenquelle so geändert, dass es immer nur ein Arbeitsblatt ist, dass exportiert werden muss. Das macht vieles einfacher.

Ich muss also nur eine Datenquelle importieren. Jetzt habe ich aber bei zwei Tabellen jeweils 3 Spalten, wo ein Autofill bis zur letzten Zelle im Arbeitsblatt gemacht werden muss, wo was steht. Momentan stehen da noch fixe Zeilennummern, aber meine Exportdaten wachsen ja ständig. Daher brauche ich einen variablen Bezug für das Autofill.

Kennt jemand einen Code? Ich habe es wieder nur mit dem Rekorder aufgezeichnet und weiß nicht, wo ich ansetzen soll. Das fett gedruckte ist wohl das Problem, oder?

Sub Rohdaten_einfügen_Rev1()
'
' Rohdaten_einfügen_Rev1 Makro
'

'
    ...

    Range("A2").Select
    Selection.AutoFill Destination:=Range("A2:A17926")
    Range("A2:A17926").Select
    Columns("A:A").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Windows("Reporting_Management_SAP.xlsx").Activate
    Columns("B:B").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Verketten"
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[1],RC[2])"
    Range("B2").Select
    Selection.AutoFill Destination:=Range("B2:B17593")
    Range("B2:B17593").Select
    Columns("B:B").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("L1").Select
    ActiveCell.FormulaR1C1 = "PSP-Element"
    Range("L2").Select
    Columns("L:L").EntireColumn.AutoFit
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-10],[Reporting_Management_PSP.xlsx]Sheet1!C[-11]:C[-8],4,0)"
    Range("L3").Select
    Columns("L:L").EntireColumn.AutoFit
    Range("L2").Select
    Selection.AutoFill Destination:=Range("L2:L17593")
    Range("L2:L17593").Select
    Columns("L:L").EntireColumn.AutoFit
    Application.DisplayAlerts = False
    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(8, 1)), TrailingMinusNumbers:=True
    Columns("G:G").Select
    Selection.Delete Shift:=xlToLeft
    Columns("F:F").EntireColumn.AutoFit
    Range("C1").Select
    Selection.Copy
    Range("L1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Columns("A:L").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.Copy
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste