Haben Sie 2 Möglichkeiten, und ich bin nicht sicher, ob ich bin ein fan von den welken, aber das ist meine Meinung. Möglicherweise fühlen Sie sich anders:
Option 1: Erzwingen Sie die Funktion ausführen.
Einer Funktion in einer Zelle nicht ausgeführt werden, es sei denn, es verweist auf eine Zelle, die sich geändert hat. Ändern Sie ein Blatt name löst keine Funktionen in der Tabellenkalkulation. Aber wir können erzwingen Sie die Funktion ausführen, indem eine Reihe und, wenn ein Element in diesem Bereich ändert, wird die Funktion ausgelöst.
Können Sie die unter-Skript zum erstellen einer benutzerdefinierten Funktion, die das abrufen der Namen:
function mySheetName() {
var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
return key;
}
und in der Zelle legen Sie die folgenden:
=mySheetName(A1:Z)
Nun, wenn jeder Wert in einer Zelle bei, dass an änderungen der das Skript ausgeführt wird. Dieser dauert eine Sekunde, um das Skript auszuführen und legt eine Nachricht in die Zelle, jedes mal wenn irgendein Wert verändert, so könnte dies störend wirkt sehr schnell. Wie bereits erwähnt, es erfordert auch eine änderung im Sortiment zu führen, trigger, also nicht real ist hilfreich, auf einer ziemlich statischen Datei.
Option 2: Verwenden Sie das OnChange-Ereignis
Während der Laufzeit fühlt sich besser als die oben genannten option, und diese hängt nicht davon ab, einen Wert ändern in der Tabelle die Zellen, die ich nicht mag, weil es Kräfte, wo der name geht. Man könnte ein Utilities-sheet zu definieren, die diese Lage in verschiedenen Blätter, wenn Sie wollte. Unten ist die grundlegende Idee, und vielleicht bekommen Sie gestartet, wenn Sie mögen diese option.
Das OnChange-Ereignis wird ausgelöst, wenn der Blattname geändert wird. Sie können den code unten ein raffinierter, um Fehler zu überprüfen, überprüfen Sie die Blatt-ID nur auf einem bestimmten Blatt, etc. Die basic-code, aber:
function setSheetName(e) {
var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K1').setValue(key);
}
Sobald Sie gespeichert haben, den code in den Skript-editor festlegen des Aktuellen Projekts bei Änderung Auslösen dieser Funktion. Es schreibt den Namen des Tabellenblattes in Zelle K1 auf jedem change-Ereignis. Setzen Sie den Auslöser, wählen Sie Aktuelle Projekt löst unter der Bearbeiten Menü.
Zu Holen Sie sich die aktuellen Blattnamen in Google sheets, die folgenden einfachen script kann Ihnen helfen, ohne dass Sie die Namen manuell eingeben, tun Sie bitte als diese:
Klicken Sie auf Extras > Skript-editor
In der geöffneten Projekt-Fenster kopieren und fügen Sie den untenstehenden script-code in das leere Codefenster, siehe screenshot:
............................
function sheetName() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
Dann speichern Sie den code-Fenster, und gehen Sie zurück zu dem Blatt, dass Sie möchten, zu bekommen, seinen Namen, und geben Sie dann diese Formel: =sheetname() in eine Zelle, und drücken Sie die Enter-Taste, den Namen des Blattes auf einmal angezeigt werden.
Tolle Antwort. Dies funktioniert auch für den Druck auf andere Blätter, die nicht aktiv sind - so müssen Sie nicht sorgen zu machen, entweder. Nachteil ist hier, wenn Sie ändern Sie den Namen des Blattes, die Formel nicht korrekt neu berechnen 🙁
Wenn Sie auf die Platte aus einem anderen Blatt, können Sie den Namen des Tabellenblattes in der ZELLE-Funktion. Sie können dann mit regex extrahieren Sie den Namen des Blattes.
update:
Die Formel wird automatisch aktualisieren 'SHEET-NAME' mit zukünftigen Veränderungen, aber Sie müssen zum Verweis auf eine Zelle (z.B. A1) auf diesem Blatt, wenn die Formel ist ursprünglich eingegeben.
Fehlt die Erklärung @JohnP2 Das ist genau das, was ich suchte. Danke. Wenn ich geben Sie den Namen des Blattes auf diese Weise, und den Namen des Tabellenblattes aktualisiert wird, wird diese Formel wird automatisch aktualisiert, um den neuen Blattnamen.
Habe ich ein Blatt gemacht, um von anderen benutzt, und ich habe schon ein paar indirekte() Referenzen um, so muss ich formulaically Griff eine veränderte Blattregister Namen.
Verwendete ich die Formel aus JohnP2 (unten), aber Schwierigkeiten, da er sich nicht automatisch aktualisiert, wenn ein Blatt umbenannt wurde. Sie gehen müssen, um die tatsächliche Formel, eine beliebige änderung, und aktualisieren Sie es erneut ausführen.
Ich löste dies durch die Verwendung von info gefunden in diese Lösung, wie zu zwingen, eine Funktion zu aktualisieren. Es ist vielleicht nicht die eleganteste Lösung, aber es Zwang die Blätter, um die Aufmerksamkeit auf diese Zelle, und aktualisieren Sie es regelmäßig, so dass es fängt eine aktualisierte Blatt Titel.
Über diese Blätter wissen zu aktualisieren diese Zelle jedes mal, wenn Sie eine änderung vornehmen, die Ergebnisse in der Adresse wird immer dann aktualisiert, wenn es umbenannt wird, die von einem Benutzer.
Hier ist mein Vorschlag für ein Skript gibt den Namen des Blattes aus seiner position, in der Blatt-Liste im parameter. Wenn kein parameter angegeben ist, wird der aktuelle name des Arbeitsblatts wird zurückgegeben.
function sheetName(idx) {
if (!idx)
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
else {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var idx = parseInt(idx);
if (isNaN(idx) || idx < 1 || sheets.length < idx)
throw "Invalid parameter (it should be a number from 0 to "+sheets.length+")";
return sheets[idx-1].getName();
}
}
Dann können Sie es in eine Zelle wie jede Funktion
=sheetName() //display current sheet name
=sheetName(1) //display first sheet name
=sheetName(5) //display 5th sheet name
Wie beschrieben und von anderen Antworten, die Sie brauchen, um fügen Sie diesen code in einem script mit :
Haben Sie 2 Möglichkeiten, und ich bin nicht sicher, ob ich bin ein fan von den welken, aber das ist meine Meinung. Möglicherweise fühlen Sie sich anders:
Option 1: Erzwingen Sie die Funktion ausführen.
Einer Funktion in einer Zelle nicht ausgeführt werden, es sei denn, es verweist auf eine Zelle, die sich geändert hat. Ändern Sie ein Blatt name löst keine Funktionen in der Tabellenkalkulation. Aber wir können erzwingen Sie die Funktion ausführen, indem eine Reihe und, wenn ein Element in diesem Bereich ändert, wird die Funktion ausgelöst.
Können Sie die unter-Skript zum erstellen einer benutzerdefinierten Funktion, die das abrufen der Namen:
und in der Zelle legen Sie die folgenden:
Nun, wenn jeder Wert in einer Zelle bei, dass an änderungen der das Skript ausgeführt wird. Dieser dauert eine Sekunde, um das Skript auszuführen und legt eine Nachricht in die Zelle, jedes mal wenn irgendein Wert verändert, so könnte dies störend wirkt sehr schnell. Wie bereits erwähnt, es erfordert auch eine änderung im Sortiment zu führen, trigger, also nicht real ist hilfreich, auf einer ziemlich statischen Datei.
Option 2: Verwenden Sie das OnChange-Ereignis
Während der Laufzeit fühlt sich besser als die oben genannten option, und diese hängt nicht davon ab, einen Wert ändern in der Tabelle die Zellen, die ich nicht mag, weil es Kräfte, wo der name geht. Man könnte ein Utilities-sheet zu definieren, die diese Lage in verschiedenen Blätter, wenn Sie wollte. Unten ist die grundlegende Idee, und vielleicht bekommen Sie gestartet, wenn Sie mögen diese option.
Das OnChange-Ereignis wird ausgelöst, wenn der Blattname geändert wird. Sie können den code unten ein raffinierter, um Fehler zu überprüfen, überprüfen Sie die Blatt-ID nur auf einem bestimmten Blatt, etc. Die basic-code, aber:
Sobald Sie gespeichert haben, den code in den Skript-editor festlegen des Aktuellen Projekts bei Änderung Auslösen dieser Funktion. Es schreibt den Namen des Tabellenblattes in Zelle K1 auf jedem change-Ereignis. Setzen Sie den Auslöser, wählen Sie Aktuelle Projekt löst unter der Bearbeiten Menü.
InformationsquelleAutor Karl_S
Hier ist was ich gefunden habe für Google Sheets:
Zu Holen Sie sich die aktuellen Blattnamen in Google sheets, die folgenden einfachen script kann Ihnen helfen, ohne dass Sie die Namen manuell eingeben, tun Sie bitte als diese:
Klicken Sie auf Extras > Skript-editor
In der geöffneten Projekt-Fenster kopieren und fügen Sie den untenstehenden script-code in das leere Codefenster, siehe screenshot:
............................
Dann speichern Sie den code-Fenster, und gehen Sie zurück zu dem Blatt, dass Sie möchten, zu bekommen, seinen Namen, und geben Sie dann diese Formel:
=sheetname()
in eine Zelle, und drücken Sie die Enter-Taste, den Namen des Blattes auf einmal angezeigt werden.Finden Sie unter diesem link mit zusätzlichen screenshots: https://www.extendoffice.com/documents/excel/5222-google-sheets-get-list-of-sheets.html
Nachteil ist hier, wenn Sie ändern Sie den Namen des Blattes, die Formel nicht korrekt neu berechnen 🙁
InformationsquelleAutor Katya Mutafchieva
Wenn Sie auf die Platte aus einem anderen Blatt, können Sie den Namen des Tabellenblattes in der ZELLE-Funktion. Sie können dann mit regex extrahieren Sie den Namen des Blattes.
update:
Die Formel wird automatisch aktualisieren 'SHEET-NAME' mit zukünftigen Veränderungen, aber Sie müssen zum Verweis auf eine Zelle (z.B. A1) auf diesem Blatt, wenn die Formel ist ursprünglich eingegeben.
Das ist genau das, was ich suchte. Danke. Wenn ich geben Sie den Namen des Blattes auf diese Weise, und den Namen des Tabellenblattes aktualisiert wird, wird diese Formel wird automatisch aktualisiert, um den neuen Blattnamen.
InformationsquelleAutor JohnP2
Habe ich ein Blatt gemacht, um von anderen benutzt, und ich habe schon ein paar indirekte() Referenzen um, so muss ich formulaically Griff eine veränderte Blattregister Namen.
Verwendete ich die Formel aus JohnP2 (unten), aber Schwierigkeiten, da er sich nicht automatisch aktualisiert, wenn ein Blatt umbenannt wurde. Sie gehen müssen, um die tatsächliche Formel, eine beliebige änderung, und aktualisieren Sie es erneut ausführen.
Ich löste dies durch die Verwendung von info gefunden in diese Lösung, wie zu zwingen, eine Funktion zu aktualisieren. Es ist vielleicht nicht die eleganteste Lösung, aber es Zwang die Blätter, um die Aufmerksamkeit auf diese Zelle, und aktualisieren Sie es regelmäßig, so dass es fängt eine aktualisierte Blatt Titel.
Über diese Blätter wissen zu aktualisieren diese Zelle jedes mal, wenn Sie eine änderung vornehmen, die Ergebnisse in der Adresse wird immer dann aktualisiert, wenn es umbenannt wird, die von einem Benutzer.
InformationsquelleAutor Luke Allpress
Hier ist mein Vorschlag für ein Skript gibt den Namen des Blattes aus seiner position, in der Blatt-Liste im parameter. Wenn kein parameter angegeben ist, wird der aktuelle name des Arbeitsblatts wird zurückgegeben.
Dann können Sie es in eine Zelle wie jede Funktion
Wie beschrieben und von anderen Antworten, die Sie brauchen, um fügen Sie diesen code in einem script mit :
InformationsquelleAutor Nicolas Janel