Con Google Apps Script è possibile creare un contatore al click su un bottone personalizzato nei Fogli Google.
Ti bastano pochissime righe di codice e nessuna base di programmazione! Se vuoi iniziare a programmare, sicuramente questo è l'ambiente e l'esempio più adatto.
Il pulsante utilizzato è un'immagine recuperata da Google Immagini al quale è stato associato uno script di 6 righe di codice che al click su di esso incrementa il valore della cella A1 nel Foglio di una unità.
Puoi creare questo codice in meno di 5 minuti e puoi modificarlo a piacimento in base alle tue esigenze.
Imparerai ad utilizzare gli script di Google per automatizzare le operazioni in Google Sheets anziché effettuarle a mano e in modo ripetitivo.
Quella nel video, è una vera e propria Macro, come su Excel ma più semplice da realizzare anche per chi non è esperto nella programmazione.
Lasciami un commento al video per qualsiasi dubbio, curiosità o suggerimento e ricordati inoltre di ISCRIVERTI AL MIO CANALE, se non l'hai già fatto, per rimanere aggiornato sull'uscita dei miei prossimi video!
Buon divertimento! ;)
function contatore() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getRange("A1");
var a1_value = parseInt(a1_value) +1;
var counter = parseInt(a1_value) +1;
range.setValue(counter);
}
mi da #num! quando lo lancio
function contatore() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getRange("A1");
var a1_value = parseInt(a1_value) +1;
var counter = parseInt(a1_value) +1;
range.setValue(counter);
}
mi da #num! quando lo lancio
function contatore() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getRange("A1");
var a1_value = parseInt(a1_value) +1;
var counter = parseInt(a1_value) +1;
range.setValue(counter);
}
mi da #num! quando lo lancio
function contatore() {
AL LANCIO MI restituisce#NUM!
AL LANCIO MI restituisce#NUM!
AL LANCIO MI restituisce#NUM!
function contatore() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
var range = sh.getRange("A1");
var a1_value = parseInt(a1_value) +1;
var counter = parseInt(a1_value) +1;
range.setValue(counter);
}
mi da #num! quando lo lancio
Ho seguito i tuoi passaggi e funziona perfettamente, se però io avessi bisogno che la casella su cui avviene l'incremento non fosse fissa ma variabile, definita cioè da un'altra casella a lei legata (gestione di magazzino, inserisco il codice dell'articolo e mi trova il quantitativo da incrementare nelle vendite), non riesco a determinare il range corretto.
Io ho inserito questa riga:
var range = sh.getRange("=CERCA.VERT(A3;A13:E1000;5;0)");
Ho utilizzato questa scrittura in quanto la casella viene determinata con l'utilizzo della suddetta formula
Ciao Luca, il metodo getRange si aspetta un intervallo di celle come parametro, mentre il risultato di CERCA.VERT è un valore: https://developers.google.com/apps-script/reference/spreadsheet/sheet?hl=it#getRangeList(String)
Ok, quindi se io volessi eliminare il sistema getRange per non avere il parametro a celle, ma inserire un imput per un valore, cosa dovrei indicare come testo?
Per inserire un valore in una cella esiste il metodo setValue(). Verifica nel link che ti ho inviato prima, ci sono una serie di metodi con relativa descrizione e parametri richiesti.