ich bin weiter bei der Automatisierung diverser Auswertungen. Dabei füge ich Spalten ein und darin Formeln (FormulaR1C1). Leider werden die Formeln nicht berechnet sondern es kommt der Fehler #BEZUG!
Ich habe schon mittels application.sendkeys "{Enter}" versucht, das enter zu simulieren. Klappt nicht.
Sub BearbeitenxBU()
Dim quellBlatt As Worksheet
Dim zielBlatt As Worksheet
Dim sverweise As Worksheet
Dim überschriften As Worksheet
Dim letzteZeile As Long
Dim quelle As Range
Dim colRegiTypeText As Long
Dim col1stRegiDate As Long
Dim col2ndRegiDate As Long
Dim colSoldToParty As Long
Dim colShipToParty As Long
Dim colFscCode As Long
Dim ltzSverxModell As Long
Dim formelbereich As Range
Dim fehler As Boolean
Dim i As Long
Set quellBlatt = Worksheets("x BU Import")
Set zielBlatt = Worksheets("x BU Export")
Set sverweise = Worksheets("Sverweis-Tabellen")
Set überschriften = Worksheets("Überschriften")
quellBlatt.Select
quellBlatt.Range("A1").Activate
Set quelle = ActiveCell.CurrentRegion
letzteZeile = quellBlatt.Range("A100000").End(xlUp).Row
ltzSverxModell = sverweise.Range("d100000").End(xlUp).Row
'Kopie aller Daten und Einfügen notwendiger Spalten (8)
quelle.Copy
zielBlatt.Cells(1, 9).PasteSpecial xlPasteValues
zielBlatt.Select
'Definiere absolute Spaltennummer zu Formelgrößen
colRegiTypeText = zielBlatt.Cells.Find(What:="Registration Type Text").Column
col1stRegiDate = zielBlatt.Cells.Find(What:="1st Regi Date").Column
col2ndRegiDate = zielBlatt.Cells.Find(What:="2nd Regi Date").Column
colSoldToParty = zielBlatt.Cells.Find(What:="Sold to Party").Column
colShipToParty = zielBlatt.Cells.Find(What:="Ship to Party").Column
colFscCode = zielBlatt.Cells.Find(What:="FSC Code").Column
'Überschriften und Formeln einfügen
überschriften.Range("A3:H3").Copy
zielBlatt.Cells(1, 1).PasteSpecial xlPasteAll
Set formelbereich = zielBlatt.Range("a2:h2")
formelbereich.Cells(1, 1).FormulaR1C1 = "=if(and(rc(" & colRegiTypeText - 1 & ")="" _
Endkundenverkauf privat"",rc(" & col1stRegiDate - 1 & ")=rc(" & col2ndRegiDate - 1 & ")),""nein" _
",""ja"")"
formelbereich.Cells(1, 2).FormulaR1C1 = "=IF(DAYS360(rc(" & col1stRegiDate - 2 & "),rc(" & _
_
col2ndRegiDate - 2 & "))>360,""nein"",""ja"")"
formelbereich.Cells(1, 3).FormulaR1C1 = "=MID(rc(" & colSoldToParty - 3 & "),6,1)"
formelbereich.Cells(1, 4).FormulaR1C1 = "=IF(rc(-1)=""0"",""ja"",""nein"")"
formelbereich.Cells(1, 5).FormulaR1C1 = "=Right(rc(" & colShipToParty - 5 & "),4)"
formelbereich.Cells(1, 6).FormulaR1C1 = "=9301530000+rc(-1)"
formelbereich.Cells(1, 7).FormulaR1C1 = "=Left(rc(" & colFscCode - 7 & "),2)"
formelbereich.Cells(1, 8).FormulaR1C1 = "=VLOOKUP(RC[-1],'Sverweis-Tabellen'!R4C4:R" & _
ltzSverxModell & "C5,2,FALSE)"
For i = 1 To 8
formelbereich.Cells(1, i).Select
formelbereich.Cells(1, i).Activate
Application.SendKeys "{Enter}", True
i = i + 1
Next i
zielBlatt.Range("A2:H2").AutoFill Range("A2:H" & letzteZeile), xlFillSeries
End Sub