Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao grazie Paolo,
ma forse non sono stato chiaro, [Data Inizio in A2] [Data Fine in B2] [Giorni Lavorativi in C2] e l'intervallo rappresentato da feste "riportato sopra" nell'intervallo K2:K23 sono i miei dati di input.
Quello che devo ottenere é la lista delle date da considerare nell'intervallo fra [Data Inizio] [Data Fine].
In pratica per esempio:
[Data Inizio] [Data Fine] [Giorni Lavorativi]
29.03.2010 06.04.2010 4
Il risultato atteso in una qualsiasi colonna sarebbe il seguente:
[Risultato]
29.03.2010
30.03.2010
31.03.2010
06.04.2010
Ora ho fatto una funzione in VBA che mi soddisfa ma solo parzialmente :
(Se a qualcuno interessasse é la seguente):
****************************************
Sub ScriviDateInColonna()
'È data la DataInizio e DataFine si scrivono le date fino alla DataFine
Dim Giorni As Integer
Dim DataInizio As Date
Dim DataFine As Date
Dim Riga As Integer
DataInizio = Range("A2") 'Locazione della cella contenente la data di inizio
DataFine = Range("B2") 'Locazione della cella contenente la data fine
Giorni = Range("C2") 'Locazione della cella contenente il numero di giorni
i = Giorni
Riga = 2
Worksheets("Sheet1").Range("F" & Riga) = DataInizio 'Locazione delle celle contenente la lista delle date
Do While DataInizio <> DataFine
Riga = Riga + 1
Worksheets("Sheet1").Range("F" & Riga) = WorksheetFunction.WorkDay(DataInizio, 1, Range("k2:k23")) 'Nell'intervallo vi sono la lista dei giorni di festa
If Worksheets("Sheet1").Range("F" & Riga) = Worksheets("Sheet1").Range("F" & Riga - 1) Then Riga = Riga - 1
i = i - 1
DataInizio = DataInizio + 1
Loop
DataInizio = DataFine
End Sub
****************************************
Il problema di questa funzione é che il risultato
[Risultato]
29.03.2010
30.03.2010
31.03.2010
06.04.2010
06.04.2010
Mi scrive in doppio l'ultima data ma solamente in alcuni casi in effetti testandola su più date l'effetto di doppia data si verifica
quando la data fine é immediatamente successiva ad un giorno di festa. (Almeno per adesso credo sia così)