Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Einfügen einer Formel in vba bringt #BEZUG!

Einfügen einer Formel in vba bringt #BEZUG!
23.06.2015 16:55:55
Christian
Hey,
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen einer Formel in vba bringt #BEZUG!
23.06.2015 17:10:02
Rudi
Hallo,
in RC-Bezügen muss der Versatz mit [] definiert werden. Nicht ().
z.B.
formelbereich.Cells(1, 1).FormulaR1C1 = "=if(and(rc(" & colRegiTypeText - 1 & ")=""
muss
formelbereich.Cells(1, 1).FormulaR1C1 = "=if(and(rc[" & colRegiTypeText - 1 & "]=""
Gruß
Rudi

AW: Einfügen einer Formel in vba bringt #BEZUG!
23.06.2015 17:18:41
Michael
Hi Christian,
rc erwartet eckige Klammern.
siehe auch http://www.online-excel.de/excel/singsel_vba.php?f=84
Schöne Grüße,
Michael
Anzeige

349 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige