Option Explicit
Sub Add_dates()
Dim myDate As Date 'variabile tipo data a cui daremo il valore che ci serve
Dim i As Byte 'diventerà il mese, quindi massimo = 12, il tipo byte arriva fino a 255, più che sufficiente!
Dim x As Long 'servirà per trovare l'ultima riga compilata
Dim lngY As Long 'diventerà l'anno, basterebbe di tipo integer
Dim intM As Integer 'diverrà il mese
With ActiveSheet
lngY = Right(.Name, 4) 'lngY diventa la parte destra, 4 caratteri, del nome del foglio
For i = 1 To 12 'ciclo per determinare il mese
'''se la parte sinistra del nome foglio è uguale alla conversoine in formato "mmm" di una data
'''fittizia "01/i/0001" allora ecco trovato il mese
If Left(.Name, 3) = Format(DateSerial(1, i, 1), "mmm") Then ''selezionare "dateserial" e premere F1 per maggiori info
intM = i
Exit For
Else
intM = 1
End If
Next
.Range("A1").EntireColumn.Insert 'inserisco colonnA
.Range("A1") = "Data" 'A1 diventa "Data"
x = .Range("B" & .Rows.Count).End(xlUp).Row 'trovo ultima riga piena di colonna B
myDate = DateSerial(lngY, intM, 1) 'come sopra, F1 per guida in linea per funzione Dateserial
.Range("A2:A" & x) = myDate 'copio data nella colonna A
.Range("A2:A" & x).NumberFormat = "mmm-yyyy" 'formatto come serve a te
End With
End Sub
|