Ich versuche, die Aktivierung von Arbeitsblättern zu vermeiden, da ich Berechnungen in meiner Tabelle durchführe. Ich stoße jedoch auf ein Problem. Diese Beschreibung reproduziert das Problem genau auf meiner Version von Excel 2016 (32-Bit).R1C1-Formelreferenzen werden verstümmelt, wenn das Arbeitsblatt nicht aktiv ist
Erstellen Sie eine neue Arbeitsmappe mit 2 Blättern: Sheet1 und Sheet2. Blatt1 ist leer. In Sheet2, in Zellen A2: A21, gebe ich einige ganze Zahlen ein. Ich habe dann ein Modul, das R1C1 Formel Format verwendet einige Formeln in Spalte G von Sheet2, mit diesem Code zu setzen:
Option Explicit
Sub Test()
Dim osht As Excel.Worksheet
Dim NumRows As Integer
Set osht = ThisWorkbook.Worksheets("Sheet2")
NumRows = 20
osht.Range("G1").Offset(1, 0).Resize(NumRows, 1).FormulaR1C1 = "=RC[-6]*5"
End Sub
ich ein Diagrammblatt hinzugefügt zu zeichnen, was in Sheet2 ist, mit einem Diagramm. Wenn Sie den Code entweder mit Sheet1 oder Sheet2 als aktivem Blatt ausführen, wird es funktionieren, und die Formeln in Sheet2!G2:G21
korrekt sind:
=RC[-6]*5
Führen Sie den Code mit dem Diagrammblatt aktiv ist, und das funktioniert nicht. Die Formeln in Sheet2!G2:G21
wie folgt aussehen:
=R[-1]C[16372]*5
Dies geschieht in Excel 2013 (32-bit) als auch.
Wohin gehe ich hier falsch? Oder ist das ein Excel-Fehler?
eine der Formeln hat "Manual Other", die andere hat "MANUAL OTHER" .... ich würde sagen, dass Sie zwei Stück Code hier spielen, abhängig davon, welches Arbeitsblatt aktiv ist. – jsotola
Geändert mein Beitrag, um das Problem mit einfachen Codefragment zu veranschaulichen. –
Wenn die Berechnung immer in Spalte A angezeigt werden soll, versuchen Sie 'RC1 * 5'. –