Hello,
danke thx funktioniert.
Ich habe jetzt alles noch ein wenig umgeschrieben und bekomme bei einer Paste Anweisung immer einen Fehler.
versteh ich überhaupt nicht....
---------------------------
Microsoft Visual Basic
---------------------------
Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler
---------------------------
OK Hilfe
---------------------------
Code:
Option Explicit
Sub Button_Formatieren()
Dim new_excel As Workbook
Dim old_excel As Workbook
' New Excel
Set new_excel = Workbooks.Add
' Spalten Namen setzen
new_excel.Worksheets(1).Range("A1").Value = "Subsegment"
new_excel.Worksheets(1).Range("B1").Value = "Region_NR"
new_excel.Worksheets(1).Range("C1").Value = "GA_NR"
new_excel.Worksheets(1).Range("D1").Value = "Financial Reporting Segment"
new_excel.Worksheets(1).Range("E1").Value = "VTGR_ID"
new_excel.Worksheets(1).Range("F1").Value = "ADM_ID"
new_excel.Worksheets(1).Range("G1").Value = "PROJEKT_ID"
new_excel.Worksheets(1).Range("H1").Value = "Optional_2"
new_excel.Worksheets(1).Range("I1").Value = "Optional_3"
new_excel.Worksheets(1).Range("J1").Value = "KOA_NR"
new_excel.Worksheets(1).Range("K1").Value = "Legal Entity"
new_excel.Worksheets(1).Range("L1").Value = "Scenario"
new_excel.Worksheets(1).Range("M1").Value = "WJ"
new_excel.Worksheets(1).Range("N1").Value = "Q"
new_excel.Worksheets(1).Range("O1").Value = "Actua l"
' Öffne das zu formatierend File, kopiere Inhalt herüber und schließe das File wieder
Set old_excel = Workbooks.Add(Me.TextBox_Pfad.Text)
old_excel.Worksheets(2).Range("A5:K20000").Copy
new_excel.Worksheets(1).Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
old_excel.Application.DisplayAlerts = False
old_excel.Close
' Actual um drei Tabellen nach rechts verschieben
new_excel.Worksheets(1).Range("K2:K20000").Cut
new_excel.Worksheets(1).Range("02").Paste ' !###! hier kommt der Fehler ?!?! warum klappt es nicht, habs auch mit PasteSpecial wie ein paar Zeilen darüber ausprobiert. (Und es handelt sich um garantiert um ein O und dicht um eine Null ;-)
' Speichern
new_excel.SaveAs Filename:=Mid(Me.TextBox_Pfad.Text, 1, Len(Me.TextBox_Pfad.Text) - 4) + "_formatiert.xls", _
FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
' Schließe neues Excel
new_excel.Close
End Sub