Konvertieren Sie den gesamten Text in einer Google-Tabelle in GROSSBUCHSTABEN

11

Ich habe eine Tabelle, die ich mit anderen teile, um einige Daten zu sammeln. Jede Person setzt (soll) nur ein einzelnes Zeichen in eine Reihe von Zellen.

Wie kann ich veranlassen, dass diese Zellen in Großbuchstaben umgewandelt werden?

Die Verwendung =UPPER()in jeder Zelle scheint ein Nichtstarter zu sein, da sie von allem, was sie eingeben, überschrieben wird.

Ale
quelle
Könnte jemand diese Antwort bitte erweitern? Wie soll ich mein Skript, wenn ich es geschrieben und gespeichert habe, in einem bestimmten Zellbereich in meinem Google Sheet ausführen?
Tomh

Antworten:

12

Hier ist ein Skript, das Eingaben automatisch in Großbuchstaben konvertiert:

function onEdit(e) {
  if (typeof e.value != 'object') {
    e.range.setValue(e.value.toUpperCase());
  }
}

Gehen Sie in der Tabelle zu Extras> Skripteditor. Fügen Sie den obigen Code in das Codefenster ein (ersetzen Sie alles, was dort vorgefüllt ist) und speichern Sie es.


Wenn Sie Großbuchstaben und Einzelzeicheneinträge erzwingen möchten, kann die Datenüberprüfung mit einer benutzerdefinierten Formel verwendet werden

=regexmatch(A1,"^[A-Z]$")

Dies setzt voraus, dass die obere linke Ecke des Bereichs A1 ist und Sie Buchstaben des lateinischen Alphabets erwarten. Der reguläre Ausdruck ^[A-Z]$bedeutet: Anfang der Zeichenfolge; Einzelzeichen im Bereich AZ; Ende der Zeichenfolge.


quelle
Könnte jemand diese Antwort bitte erweitern? Wie soll ich mein Skript, wenn ich es geschrieben und gespeichert habe, in einem bestimmten Zellbereich in meinem Google Sheet ausführen?
Tomh
@tomh dieses Skript funktioniert für eine ganze Tabelle. Hast du darüber nachgedacht, es zu benutzen =ARRAYFORMULA(UPPER(A:Z)?
user0
Hallo, ich bitte Sie um einen schrittweisen Prozess, um das Skript auf eine Reihe hervorgehobener Zellen in einem Blatt anzuwenden. Idealerweise von einem
Menübefehl
@tomh hast du dieses Skript zum Laufen gebracht?
user0
Nein. Ich habe ein Add-On namens Cases verwendet, um den gleichen Effekt zu erzielen. Aber ich würde gerne wissen, wie man ein Skript auf eine Reihe von Zellen in einem Blatt anwendet, und ich denke, es wäre eine nützliche Antwort auf diesen Beitrag.
Tomh
1

Das ist was du willst .

Ändern Sie einfach diese Zeile im Skript ...

ui.createMenu ('Benutzerdefiniertes Menü')

... dazu ...

ui.createMenu ('Falländerung')

... um Ihrer selbst willen.

Erik Tyler
quelle