08.03.2018, 11:28
(Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2018, 11:31 von Handwerker.)
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
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