Ciao Paolo,
Avrei necessità di un Codice VBA che mi permettesse di operare nel Foglio1 di Excel il quale è così strutturato:
Cella D13 = Riservata all’inserimento di una Data Inizio
Cella J13 = Riservata all’inserimento di un numero di mesi da aggiungere (Min 1 mese; max 12 mesi)
Cella G17 = Riservata alla somma delle Celle D13e J13
Esempi:
Cella D13: 28/02/15; Cella J13: 1; Totale
Cella G17: 28/03/2015
Altro esempio: Cella D13:
15/02/2015; Cella J13: 2; Cella G17: 15/04/2015
Unica Eccezione:
il mese di Agosto (dall’1 al 31) non va conteggiato, esso dev’essere calcolato come se non
Esistesse:
Esempio: Data Inizio:
25/07/2015, mesi aggiunti 1; Totale cella G17 =
25/09/2015.
- Alt-F11 per aprire l'editor di VBA
- Alt-IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Public Function DataPaolo(DataInizio As Date, NumeroMesi As Long) As Date
Dim myDate As Date
myDate = DateAdd("m", NumeroMesi, DataInizio)
If Month(DataInizio) < 8 And Month(myDate) >= 8 Then
myDate = DateAdd("m", 1, myDate)
End If
DataPaolo = myDate
End Function
'<<=========
- Alt-Q per chiudere l'editor di VBA e tornare a Excel.
Questa funzione può essere utilizzata come una funzione VBA, ad esempio:
'=========>>
Public Sub Demo()
Const startDate As Date = #7/25/2015# '\ 25 Giuglio, 2015
Const MesiDaAggiungere As Long = 1
Call MsgBox(DataPaolo(startDate, MesiDaAggiungere))
End Sub
'<<=========
Questa funzione può essere utilizzata anche come una funzione nativa di Excel; ad esempio, utilizzando, le celle del tuo esempio:
=DataPaolo(D13;J13)
===
Regards,
Norman