
Public Sub annow()
Dim F As Long
Dim P As Long
Dim sh1 As Worksheet: Set sh1 = Worksheets("TurnoMensile")
P = sh1.Range("A1").Value
Select Case P
Case Is = 2016
F = 0
Case Is = 2017
F = 2
Case Is = 2018
F = 3
Case Is = 2019
F = 4
Case Is = 2020
F = 5
Case Is = 2021
F = 7
Case Is = 2022
F = 8
End Select
End Sub
Sub Gennaio()
Dim sh1 As Worksheet: Set sh1 = Worksheets("TurnoMensile")
Dim sh2 As Worksheet: Set sh2 = Worksheets("Cognomi")
Dim X As Long, Y As Long, W As Long, R As Long, DData As Date
Application.ScreenUpdating = False
sh2.Columns("K").ClearContents
R = sh2.Cells(1, 12)
giorni31
sh1.Range("A3").Value = 1
For W = 1 To 3
For X = 1 To 52
For Y = 3 To 9
sh2.Cells(R, 11) = sh2.Cells(X, Y)
R = R + 1
Next Y
Next X
Next W
Y = 3
sh1.Range("B3:AF36").ClearContents
For X = 2 To 32 ' colonne
sh1.Cells(Y, X) = Left(WeekdayName(Weekday(DateValue(sh1.Cells(2, X) & "/" & sh1.Cells(Y, 1) & "/" & sh1.Cells(1, 1)), 2)), 1)
Next X
Y = Y + 2
R = 42006 + F
For G = 0 To 175 Step 7
For D = 4 To 36
sh2.Range(sh2.Cells(R + G, 11), sh2.Cells(R + G + 30, 11)).Copy
sh1.Cells(D, 2).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
G = G + 7
Next D
Next G
Application.ScreenUpdating = True
Set sh1 = Nothing
Set sh2 = Nothing
'Pasqua
colorariposieam1
grigliamensile
Range("B1").Select
End Sub |
'questo sul modulo del foglio "TurnoMensile"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim sh1 As Worksheet: Set sh1 = Worksheets("TurnoMensile")
Set KeyCells = Range("A2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
seleziona_mesi
TextBox1.Value = sh1.Range("A2").Value
annow
End If
End Sub
'Questo su un modulo
Public F As Long
Sub annow()
Dim F As Long
Dim P As Long
Dim sh1 As Worksheet: Set sh1 = Worksheets("TurnoMensile")
P = sh1.Range("A1").Value
Select Case P
Case Is = 2016
F = 0
Case Is = 2017
F = 2
Case Is = 2018
F = 3
Case Is = 2019
F = 4
Case Is = 2020
F = 5
Case Is = 2021
F = 7
Case Is = 2022
F = 8
End Select
End Sub
Sub Gennaio()
Dim sh1 As Worksheet: Set sh1 = Worksheets("TurnoMensile")
Dim sh2 As Worksheet: Set sh2 = Worksheets("Cognomi")
Dim X As Long, Y As Long, W As Long, R As Long, DData As Date
Application.ScreenUpdating = False
sh2.Columns("K").ClearContents
R = sh2.Cells(1, 12)
giorni31
sh1.Range("A3").Value = 1
For W = 1 To 3
For X = 1 To 52
For Y = 3 To 9
sh2.Cells(R, 11) = sh2.Cells(X, Y)
R = R + 1
Next Y
Next X
Next W |
