361 Stimmen

Wie erstellt man Zeichenketten mit doppelten Anführungszeichen in Excel-Formeln?

Wie kann ich die folgende Zeichenfolge in einer Excel-Formel konstruieren?

Maurice "Die Rakete" Richard

Wenn ich einfache Anführungszeichen verwende, ist es trivial = "Maurice 'The Rocket' Richard" aber was ist mit doppelten Anführungszeichen?

5voto

Dave Punkte 67

Chr(34) verwenden Code:

    Joe = "Hi there, " & Chr(34) & "Joe" & Chr(34)
    ActiveCell.Value = Joe

Ergebnis:

    Hi there, "joe"

3voto

Zon Punkte 15646

Verkettung " als eine eigenständige Zelle:

    A |   B   | C | D
1   " | text  | " | =CONCATENATE(A1; B1; C1);

D1 displays "text"

1voto

eric Punkte 11

Funktioniert dies für Makros, die .Formula = "=THEFORMULAFUNCTION("STUFF")" Es wäre also so: Wird dies für Makros funktionieren, die .Formula = "=THEFORMULAFUNCTION(CHAR(34) & STUFF & CHAR(34))"

1voto

Rückgabe einer leeren oder null-langen Zeichenkette (z.B. "" ), um eine Zelle leer erscheinen zu lassen, ist eine gängige Praxis in einer Arbeitsblattformel, aber die Wiederherstellung dieser Option beim Einfügen der Formel über die Bereich.Formel o Bereich.FormelR1C1 Eigenschaft in VBA ist unhandlich, da die doppelten Anführungszeichen innerhalb einer in Anführungszeichen gesetzten Zeichenkette doppelt vorhanden sein müssen.

Das native Arbeitsblatt TEXT-Funktion kann das gleiche Ergebnis erzielen, ohne Anführungszeichen zu verwenden.

'formula to insert into C1 - =IF(A1<>"", B1, "")
range("C1").formula = "=IF(A1<>"""", B1, """")"         '<~quote chars doubled up
range("C1").formula = "=IF(A1<>TEXT(,), B1, TEXT(,))"   '<~with TEXT(,) instead

In meinen Augen ist die Verwendung von TEXT(,) anstelle von "" bereinigt selbst eine einfache Formel wie die obige. Die Vorteile werden immer deutlicher, wenn sie in komplizierteren Formeln verwendet werden, wie z. B. bei der Praxis, eine leere Zeichenkette an eine VLOOKUP um zu vermeiden, dass eine Null in die Zelle zurückgegeben wird, wenn eine Suche ein Leerzeichen ergibt, oder dass eine leere Zeichenfolge zurückgegeben wird, wenn keine Übereinstimmung mit IFERROR .

'formula to insert into D1 - =IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"", "")
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&"""", """")"
range("D1").formula = "=IFERROR(VLOOKUP(A1, B:C, 2, FALSE)&TEXT(,), TEXT(,))"

Mit TEXT(,) Ersetzen der alten "" Methode eine leere Zeichenfolge zu liefern, können Sie vielleicht aufhören, einen Abakus zu benutzen, um festzustellen, ob Sie die richtige Anzahl von Anführungszeichen in einer Formelzeichenfolge haben.

1voto

="Maurice "&"""TheRocker"""&" Richard"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X