Informazioni: postmaster@valcos47.it

const Excel = require('@microsoft/office-

js/excel');

async function creaTabellaSettimanale() {

try {

await Excel.run(async (context) => {

// Ottieni la data corrente

let today = new Date();

// Trova il lunedì successivo alla data

odierna

let giornoSettimana = today.getDay();

// 0 (Domenica) a 6 (Sabato)

let giorniDaLunedi =

(giornoSettimana === 0 ? 1 : 7 -

giornoSettimana); // Calcola i giorni da oggi

al prossimo lunedì

let prossimoLunedi = new

Date(today);

prossimoLunedi.setDate(today.getDate() +

giorniDaLunedi);

// Crea un nuovo foglio

const nuovoFoglio =

context.workbook.worksheets.add("Settima

nale");

// Aggiungi l'intestazione della tabella

const intestazione =

nuovoFoglio.getRange("A1:D1");

intestazione.values = [["DATA",

"COGNOME", "NOME", "IMPORTO"]];

intestazione.format.autofitColumns();

intestazione.format.autofitRows();

intestazione.format.horizontalAlignment =

Excel.HorizontalAlignment.center;

intestazione.format.font.bold = true;

// Aggiungi le righe con le date da

lunedì a sabato

for (let i = 0; i < 6; i++) {

const data = new

Date(prossimoLunedi);

data.setDate(prossimoLunedi.getDate() + i);

// Incrementa di un giorno per ogni riga

nuovoFoglio.getRange("A" + (i +

2)).values = [[data.toLocaleDateString()]];

nuovoFoglio.getRange("B" + (i +

2)).values = [[""]];

nuovoFoglio.getRange("C" + (i +

2)).values = [[""]];

nuovoFoglio.getRange("D" + (i +

2)).values = [[""]];

}

// Sincronizza per applicare le

modifiche

await context.sync();

console.log("Tabella settimanale

creata.");

});

} catch (error) {

console.error("Errore durante la

creazione della tabella settimanale:", error);

}

}

// Esegui la funzione per creare la tabella

settimanale

creaTabellaSettimanale();

Sub CreaTabellaSettimanale()

Dim ws As Worksheet

Dim giornoSettimana As Integer

Dim prossimoLunedi As Date

Dim i As Integer

Dim dataCorrente As Date

' Calcola la data del prossimo lunedì

dataCorrente = Date

giornoSettimana = Weekday(dataCorrente,

vbMonday) ' 1 = lunedì, 7 = domenica

' Calcola la data del prossimo lunedì

prossimoLunedi = DateAdd("d", 8 -

giornoSettimana, dataCorrente)

' Crea un nuovo foglio

Set ws = ThisWorkbook.Worksheets.Add

ws.Name = "Settimanale"

' Aggiungi l'intestazione della tabella

ws.Cells(1, 1).Value = "DATA"

ws.Cells(1, 2).Value = "COGNOME"

ws.Cells(1, 3).Value = "NOME"

ws.Cells(1, 4).Value = "IMPORTO"

' Formatta la prima riga (centrata e grassetto)

With ws.Rows(1)

.Font.Bold = True

.HorizontalAlignment = xlCenter

End With

' Popola la tabella con le date da lunedì a

sabato

For i = 0 To 5

ws.Cells(i + 2, 1).Value = prossimoLunedi + i

ws.Cells(i + 2, 2).Value = "" ' Colonna

"COGNOME"

ws.Cells(i + 2, 3).Value = "" ' Colonna

"NOME"

ws.Cells(i + 2, 4).Value = "" ' Colonna

"IMPORTO"

Next i

' Applica l'autofit alle colonne

ws.Columns("A:D").AutoFit

End Sub

javascript

VBA

Crea Tabella su foglio di Excel

INIZIO Chi sono Home
Notifica sui cookie