Beim schreiben von Strings in eine Zelle, VBA fügt zusätzlichen einfachen Anführungszeichen
Bin ich zu schreiben versucht, diese Formel mit VBA:
ActiveCell.Value = "=f(R[-1]C[0],Sheet1!" & ColumnLetter & i & ")"
Wo ColumnLetter einige Variablen Buchstaben, die mein makro berechnet früher, und f eine Funktion und i eine Zahl ist.
Das problem ist, dass wenn ich diese ausführe, wird die Zelle gegeben, diese anstatt: (falls ColumnLetter = F, i = 16):
=f(R[-1]C[0],Sheet1!'F16')
aber ich will:
=f(R[-1]C[0],Sheet1!F16)
Warum ist VBA oder Excel dass die einzelnen Anführungszeichen F16? Es nicht legen Sie diese extra-Anführungszeichen, wenn ich nicht zählen R[-1][0] als argument in meine Formel, aber ich brauche, um diese aufzunehmen.
Hilfe viel geschätzt!
- was beabsichtigen Sie zu tun? wie es scheint, Sie mischen
R1C1
notation undA1
. Siehe: lytebyte.com/2008/04/29/... - Ist es nicht möglich, beide zu verwenden? Ich will 2 Argumente für meine Funktion, eine aus der Zelle auf der linken Seite, und eine aus einem anderen Blatt in Spalte "ColumnLetter" und die Zeile "ich".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seine die Kombination von
R1C1
undA1
Adressierung. Müssen Sie wählen Sie eine Methode aus und verwenden Sie für beide Teile.Beachten Sie, dass wenn Sie geben Sie
=f(R[-1]C[0],Sheet1!F16)
in eine Zelle, erhalten Sie eine Fehlermeldung, die für den gleichen Grund.Sie sagen, müssen Sie Z1S1-Stil für die erste Adresse, aber (vorausgesetzt, dies ist, weil Sie nicht wollen
absolute Adresse), die Sie verwenden können
.Offset
stattDen Apostroph bedeutet in Excel, dass es interpretieren es als text.
Schreibe Sie auf die ActiveCell.Formel. Auf diese Weise ist es anerkannt als Formel.