J'ai besoin de créer une fonction personnalisée pour créer plusieurs onglets dans une feuille Google en fonction des valeurs de la colonne A. Comment puis-je faire cela? P>
Ceci est pour suivre les données sur les produits de commerce électronique particuliers. Le nom d'entre eux se trouvent dans la première colonne de la première onglet. Chaque entrée de la colonne A a besoin d'une onglet étiquetée comme le même nom. p>
Je ne sais pas comment faire cela. P>
La sortie doit être des nouveaux onglets créés par chaque cellule dans la colonne A. P>
3 Réponses :
Copier et coller ce code dans l'éditeur de script. Vous pouvez étendre le code pour supporter la suppression; C'est un peu délicat car il n'y a pas d'événement Ondelete. Vous pouvez comparer le tableau des feuilles avec les valeurs de la colonne pour déterminer quelle feuille Supprimer. P> P>
Création de plusieurs feuilles avec des modèles et une position forte> la feuille de création: p> trois modèles:
Je viens de faire ces modèles comme des exemples simples pour aider à la création de vos draps. Je trouve que les non programmeurs sont vraiment excellents à ce processus, faisant des feuilles de calcul extrêmement fantaisie. Pour moi, je les garde simples. P> J'ai essayé d'utiliser ce gif pour montrer comment les fichiers sont créés avec la feuille de calcul s'ouvrant la première fois. Cela ne créera pas de feuilles supplémentaires du même nom. Mais si vous ajoutez des noms supplémentaires, cela les créera. Il n'est pas capable de supprimer des noms de feuille qui ont été supprimés, il y a donc quelque chose que vous pouvez faire pour vous-même. P>
Merci beaucoup - c'est au-delà de l'utile!
Cette fonction ci-dessous crée une nouvelle feuille chaque fois qu'une cellule de la colonne A dans votre feuille d'origine est modifiée, uniquement si une autre feuille avec ce nom n'existe déjà. Pour accomplir cela, et Le déclencheur ONEIT est utilisé, ainsi que le correspondant objet d'événement :
function onEdit(e) { var firstSheetName = "Sheet1"; // Name of your original sheet, change accordingly var range = e.range; // Edited cell var ss = e.source; // Edited spreadsheet var sheetName = range.getSheet().getName(); // Name of edited sheet var value = range.getValue(); // Value of the edited cell // Checks whether edited sheet is the original one, and edited column is A: if(sheetName == firstSheetName && range.getColumn() == 1) { // Checks whether a sheet with this name exists: var sheetExists = ss.getSheets().some(function(sheet) { return sheet.getName() == value; }); // Create new sheet only if a sheet with this name it doesn't exist: if(!sheetExists) { ss.insertSheet(value); range.activate(); // Go back to original edited cell } } }
J'espère que cela est de toute aide. P> p>
Prenez une éventuelle de colonne A, puis à partir de la matrice Itérez l'élément, vous cochez l'onglet existant avec l'élément comme son nom, sinon existez, vous créez un nouvel onglet, bien sûr avec l'élément tel qu'il est nom.