Tabellenblatt hinzufügen mit einem Google Tabellen Script
In diesem kurzen Tutorial und zugleich Snippet zeige ich Euch wie Ihr mit der Google Tabellen Script Programmierung ein Tabellenblatt hinzufügen könnt
Beschreibung:
In diesem Beispiel wird ein Tabellenblatt hinzugefügt. Den Namen könnt Ihr frei wählen und ist in der Variablen spreadsheetName gespeichert. Ich habe hier den Namen "Testtabelle" gewählt. Weitere Variablen sind nicht erforderlich. Mit SpreadsheetApp.getActiveSpreadsheet() greifen wir wieder auf das aktive Tabellendokument zu. Mit insertSheet erstellen wir ein neues Tabellenblatt welches wir dann über setName(spreadsheetName) direkt mit dem Namen versehen der in der Variablen spreadsheetName (also Testtabelle) gespeichert wurde.
Aufgerufen wird die Funktion mit tabellenblattHinzufuegen. Dieses Script könnt Ihr über Buttons (Zeichnungen oder Bilder) mit diesem Namen zuweisen.
Vorab ein Video welches Euch zeigt wie man ein einfaches Script programmieren kann und wie Ihr den Scripteditor aufrufen könnt:
Mein erstes Script programmieren mit GOOGLE Tabellen
Achtung:
Benutzt zum Üben eine separate Tabelle für Testzwecke oder eine Kopie des Originals damit Euch keine Daten verloren gehen.
Snippet: Tabellenblatt hinzufügen mit Google Tabellen Script Programmierung
function tabellenblattHinzufuegen(){ var spreadsheetName="Testtabelle"; SpreadsheetApp.getActiveSpreadsheet().insertSheet().setName(spreadsheetName); }
Die Benutzung der Scripte erfolgt natürlich wie immer auf eigene Gefahr.
Euch gefällt das Script und Ihr wollt Euch gerne bedanken?
Hier ist meine AMAZON – Wunschliste [HIER KLICKEN] 😉
Dies ist Teil der Serie: "Google Tabellen Script Programmierung"
Dieses Tutorial ist Teil einer Serie die als eine Art Datenbank für kleinere Snippets dient. Damit habt Ihr die Möglichkeit für Eure Projekte einen Teil des Codes hier direkt zu kopieren und wie in Modulbauweise das ganze anzuwenden.
Die Liste aller Snippets findet Ihr hier:
Google Tabellen Script Programmierung
Das könnte Dich auch interessieren
- Aktive Zelle auslesen mit einem Google Tabellen Script
- Daten anderer Tabellen kopieren (Google Tabellen Script)
- Daten mit Script an den Listenanfang verschieben (Google Tabellen Script)
- Einfügen oder löschen einzelner Zellen bei Google Tabellen
- Google Tabellen Script autorisieren
- Hallo Welt in Google Tabellen Script
- Kalender mit Tabelle verbinden / verknüpfen (Google Tabellen Script)
- Tabellenblatt löschen (Google Tabellen Script) Snippet
- Tutorials über Google Tabellen Script - Programmierung
- Vergleichen der Werte von Zellen mit Google Tabellen Script
- Wertebereich einer Zelle mit Google Tabellen Script überprüfen
- Zeitstempel programmieren in Google Tabellen
- Übersichts-Liste der GOOGLE Tabellen Script Tutorials
9 Comments
Hi
Das ist Klasse…aber nicht das, was ich brauche…
Ich möchte ein Tabellenblatt kopieren und mit dem Wert einer anderen Zelle benennen…
function neueBlat() {
var blattAktivieren = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("RK")
var vorlage = SpreadsheetApp.getActive();
var blattName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daten").getRange("J2")
blattAktivieren.getRange("A1").activate();
vorlage.getRange("A1").activate();
vorlage.duplicateActiveSheet();
vorlage.getActiveSheet().setName(blattName);
};
Es funktioniert auch alles einwandfrei…nur der Name, der dem Tabellenblatt zugewiesen wird ist immer "Range".
Woran liegt das und wie muss ich es umschreiben damit es klappt?
MfG
Daniel
Ich wollte das gerade testen aber habe dann den Fehler gesehen. Du bekommst ja RANGE als Ausgabe. Das hängt damit zusammen, dass Du nur mit getRange diesen Bereich (Range) auch angibst. Versuche mal dahinter noch .getValue() ran zu hängen damit der Wert der Zelle auch ausgelesen wird.
Viele Grüße
Chris
Hi Chris,
danke – genau so gehts.
Zu meiner Schande hab ich auch überall die ";" vergessen gehabt…das passiert nach 15 Stunden am PC mal leicht 🙂
Danke für die Hilfe – und du machst echt nen guten Job.
MfG
Daniel
Hi Daniel, ich kenne das Problem. Ich sitze auch zu viel vor dem Rechner. Momentan arbeite ich an ganz anderen Projekten die mit Toptorials nichts zu tun haben. Deshalb dauert es auch manchmal etwas länger bis eine Antwort von mir kommt.
Danke Dir für das Kompliment 😉
Viele Grüße
Chris
Aber wenn wir schon mal am Gespräch sind:
Wie kann ich per Script die Werte zweier Zellen über Script verbinden und in eine andere Zelle ausgeben?
Ich suche also das Google-Sheets-äquivalent zum VBA-Code:
"Sheets("Daten").Range("A1") = Sheets("Wert").Range("A1") & Sheets("Wert").Range("A2")"
Wenn du mal zufällig darüber stolperst wäre das ziemlich schön 🙂
MfG
Daniel
Hi Daniel, das würde in etwa so aussehen:
function werteKopieren() {
var blatt1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Wert")
var blatt2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Daten")
blatt2.getRange("A1").setValue((blatt1.getRange("A1").getValue()+" "+blatt1.getRange("A2").getValue()));
}
Schau Dir mal die SNIPPET Reihe an. Dort findest Du einige von diesen Beispiel-Scripten:
https://toptorials.com/google-tabellen-script-programmierung/
Viele Grüße
Chris
Hi Chris,
ich hab vor 2 Tagen angefangen mich mit Google Sheets zu befassen – und auch nur deshalb, weil einer bei uns in der Firma kein Excel hat und sich auch keins zulegen will…und er auch kein anderes "Office-artiges" will…
Was VBA betrifft – bin ich ziemlich gut und hab da einige Jahre Erfahrung drin.
Aber jedesmal wenn man was neues anfängt…muss es ja schnell gehen 😉
Ich danke dir für deine Hilfe und schau mir das gerne an.
MfG
Daniel
Ich kenne dass sehr gut. Ich bein selbst nur Hobby-Programmierer und bin durch Zufall auf Google Tabellen inklusive Google Script gestoßen. Es macht sehr viel Spaß aber leider habe auch ich ein Zeitproblem.
Das ist auch der Grund warum es im Moment nicht viel neues gibt. Ich bin mit anderen Projekten beschäftigt die für mich persönlich erfolgreicher sind. Durch einen Fulltimejob und mehrere Projekte bleibt kaum noch Luft.
Viele Grüße
Chris
Hallo Chris,
ich verfolge seit kurzer Zeit deine Seite. Echt super Tipps.
ich würde gerne ein befülltes Tabellenblatt mehrfach kopieren und bin dann auf TabellenblattHinzufügen gestoßen, das auch wunderbar funktioniert. Jezt hab ich den Code von Daniel ausprobiert:
function neuesTabellenblatt() {
var blattAktivieren = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("25122019")
var vorlage = SpreadsheetApp.getActive();
var blattName = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("25122019").getRange("G1")
blattAktivieren.getRange("A1").activate();
vorlage.getRange("A1").activate();
vorlage.duplicateActiveSheet();
vorlage.getActiveSheet().setName(blattName);
};
Ich habe auf mein zu kopierendes Tabellenblatt einen Button drauf, wo ich den Code "neuesTabellenblatt" aufrufen kann. Es wird aber der Button auch mitkopiert, kann man das irgendwie unterbinden?!
Danke im Voraus und Liebe Grüße
Karl