Ich möchte eine if-Anweisung über vba in eine Zelle einfügen, die doppelte Anführungszeichen enthält.
Hier ist mein Code:
Worksheets("Sheet1").Range("A1").Value = "=IF(Sheet1!B1=0,"",Sheet1!B1)"
Aufgrund von doppelten Anführungszeichen habe ich Probleme beim Einfügen der Zeichenfolge. Wie gehe ich mit doppelten Anführungszeichen um?
excel
vba
double-quotes
user793468
quelle
quelle
Antworten:
Ich finde, der einfachste Weg ist, die Anführungszeichen zu verdoppeln, um ein Angebot zu bearbeiten.
Einige Leute benutzen gerne CHR (34) *:
* Hinweis: CHAR () wird als Excel-Zellenformel verwendet, z. B. Schreiben von "= CHAR (34)" in eine Zelle. Für VBA-Code verwenden Sie jedoch die Funktion CHR ().
quelle
Eine andere Problemumgehung besteht darin, eine Zeichenfolge mit einem temporären Ersatzzeichen zu erstellen. Anschließend können Sie mit REPLACE jedes temporäre Zeichen in ein doppeltes Anführungszeichen ändern. Ich benutze Tilde als temporären Ersatzcharakter.
Hier ist ein Beispiel aus einem Projekt, an dem ich gearbeitet habe. Dies ist eine kleine Dienstprogrammroutine, um eine sehr komplizierte Formel zu reparieren, wenn / wenn die Zelle versehentlich betreten wird. Es ist eine schwierige Formel, in eine Zelle einzutreten, aber dieses kleine Dienstprogramm behebt sie sofort.
Dies ist eigentlich nur ein einfacher Programmiertrick, aber es macht die Eingabe der Formel in Ihren VBA-Code ziemlich einfach.
quelle
Alle doppelten Anführungszeichen in doppelten Anführungszeichen, die die Zeichenfolge umgeben, müssen doppelt geändert werden. Als Beispiel hatte ich eine der JSON-Datei-Zeichenfolgen: "Lieferung": "Standard". Im Vba-Editor habe ich sie in "" Lieferung "": "" Standard "" geändert und alles funktioniert korrekt. Wenn Sie viele ähnliche Zeichenfolgen einfügen müssen, mein Vorschlag zuerst, fügen Sie sie alle zwischen "" ein und ersetzen Sie dann mit dem VBA-Editor "inside in" ". Wenn Sie einen Fehler machen, zeigt der VBA-Editor diese Zeile in rot an und Sie korrigieren dieser Fehler.
quelle
Ich bevorzuge die Antwort von tabSF. Implementieren Sie das gleiche auf Ihre Antwort. Hier unten ist mein Ansatz
quelle
Ich habe eine kleine Routine geschrieben, die Formeln aus einer Zelle in die Zwischenablage kopiert, die man einfach in Visual Basic Editor einfügen kann.
Es wurde ursprünglich in der Vault- Sektion der Chandoo.org-Foren veröffentlicht .
quelle