COME FARE:
-Apri google sheets e crea due pagine. la Prima chiamata Sheet1 e la seconda chiamata Sheet2 ( si possono rinominare a piacimento).
Struttura del foglio
Sheet1 (Tabella principale): Mostrerà i dati ordinati.
Colonna A: Nome Azienda
Colonna B: Città
Colonna C: Provincia
Colonna D: Mail
Colonna E: Referente
Sheet2 (Modulo di inserimento dati): Consisterà nei campi dove puoi inserire i dati.
B2: Nome Azienda
B3: Città
B4: Provincia
B5: Mail
B6: Referente
B7: Pulsante per l'inserimento dei dati
Qui crea ilo pulsante in questo modo:
Torna nel foglio.
Vai su Inserisci > Disegno e crea un pulsante (puoi disegnare un rettangolo o un'icona).
Fai clic con il pulsante destro del mouse sul disegno e seleziona Assegna script.
Scrivi inserisciDati e conferma.
inserisciDati è il nome del script che andreamo a creare cliccando su extension/AppScript e dev'èssere cosi :
Codice: Seleziona tutto
function inserisciDati() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");
// Ottieni i dati da Sheet2
var nomeAzienda = sheet2.getRange("B2").getValue().trim();
var citta = sheet2.getRange("B3").getValue().trim();
var provincia = sheet2.getRange("B4").getValue().trim();
var mail = sheet2.getRange("B5").getValue().trim();
var referente = sheet2.getRange("B6").getValue().trim();
// Aggiungi log per vedere se i dati sono corretti
Logger.log("Nome Azienda: " + nomeAzienda);
Logger.log("Città: " + citta);
Logger.log("Provincia: " + provincia);
Logger.log("Mail: " + mail);
Logger.log("Referente: " + referente);
// Verifica che il campo Nome Azienda non sia vuoto
if (nomeAzienda === "") {
SpreadsheetApp.getUi().alert("Il campo 'Nome Azienda' è obbligatorio!");
return;
}
// Trova l'ultima riga disponibile in Sheet1
var ultimaRiga = sheet1.getLastRow() + 1;
// Inserisci i dati in Sheet1 (compreso il referente)
sheet1.getRange(ultimaRiga, 1).setValue(nomeAzienda); // Nome Azienda
sheet1.getRange(ultimaRiga, 2).setValue(citta); // Città
sheet1.getRange(ultimaRiga, 3).setValue(provincia); // Provincia
sheet1.getRange(ultimaRiga, 4).setValue(mail); // Mail
sheet1.getRange(ultimaRiga, 5).setValue(referente); // Referente
// Pulisci i campi di input in Sheet2
sheet2.getRange("B2:B6").clearContent();
// Ordina i dati in Sheet1 in ordine alfabetico per Nome Azienda (colonna A)
var numeroRighe = sheet1.getLastRow(); // Include anche l'ultima riga appena aggiunta
sheet1.getRange(2, 1, numeroRighe - 1, 5).sort({column: 1, ascending: true});
// Aggiorna immediatamente il foglio per applicare tutte le modifiche
SpreadsheetApp.flush();
// Aggiungi un messaggio di log per confermare che i dati sono stati inseriti correttamente
Logger.log("Dati inseriti correttamente!");
}
Codice: Seleziona tutto
function evidenziaRiga() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
// Ottieni la selezione attuale
var range = sheet.getActiveRange();
// Ottieni il numero della riga della selezione
var row = range.getRow();
// Evidenzia l'intera riga cambiando lo sfondo
var totalColumns = sheet.getLastColumn(); // Numero totale delle colonne nel foglio
var rowRange = sheet.getRange(row, 1, 1, totalColumns); // Intervallo dell'intera riga
// Cambia lo sfondo della riga selezionata (colore giallo, puoi cambiare il colore)
rowRange.setBackground("#FFFF00");
// Rimuovi evidenziazione dalle altre righe, se ci sono
var allRows = sheet.getDataRange();
allRows.setBackground(null); // Ripristina lo sfondo di tutte le righe
// Evidenzia solo la riga selezionata
rowRange.setBackground("#FFFF00"); // Colore giallo per evidenziare la riga
}
Si può poi implementare tramite sheets una tabella automatica che ad ogni colonna ti permetta di avere altre funzioni o ordinamenti. Tutto sta nella vostra fantasia ed utilizzo, questo è l'utilizzo base.