
Option Explicit
Function Cont_Sei(B_AC As Range) As Variant ''MODIFICA
Application.Volatile
Dim Bac, Sei As Variant ''MODIFICA
Dim uno, Ciclo As Long ''MODIFICA
For Each Bac In B_AC
Ciclo = Ciclo + 1
If Bac Diverso "RC" And Bac Diverso "RO" And Bac Diverso "RFI" And Bac Diverso "M" Then uno = uno + 1
If Ciclo = 7 Then
If uno = 6 Then
Sei = Sei + 1
''INSERITO
ElseIf uno = 7 Then
MsgBox "Inseriti 7 giorni Validi dal giorno " & Bac.Column - 7 & " al Giorno " & Bac.Column - 1
Sei = Bac.Column - 7 & " To " & Bac.Column - 1
Exit For
''INSERITO
End If
uno = 0
Ciclo = 0
End If
Next
Cont_Sei = Sei |
Function Sette_G(B_AC As Range) As String Application.Volatile Dim Bac, G_Sette As Variant Dim sette, col_ini As Long G_Sette = "Regolare" For Each Bac In B_AC sette = sette + 1 If Bac = "RC" Or Bac = "RO" Or Bac = "RFI" Or Bac = "M" Then sette = 0 col_ini = Bac.Column End If If sette >= 7 Then G_Sette = "errore dal " & col_ini & " al " & Bac.Column Exit For End If |
Function Sette_G(B_AC As Range) As String Application.Volatile Dim Bac, G_Sette, Col_ini As Variant Dim sette As Long G_Sette = "Regolare" For Each Bac In B_AC sette = sette + 1 If Bac = "RC" Or Bac = "RO" Or Bac = "RFI" Or Bac = "M" Then sette = 0 Col_ini = Bac.Address(0, 0) End If If sette >= 7 Then G_Sette = "errore dal " & Col_ini & " al " & Bac.Address(0, 0) Exit For End If Next Sette_G = G_Sette End Function |
Option Explicit
Option Compare Text
Sub Da_set_a_mese1_2()
Dim colMens, RigMens As Long
Dim Datamese As Range
Dim mens1, mens2 As Range
Dim NomeSh As String
Dim cella, DataSet As Variant
Dim i, o1, o2 As Long
NomeSh = ActiveSheet.Name ''nome del foglio attivo
If NomeSh = "Mensile_1" Or NomeSh = "Mensile_2" Then
MsgBox " Questa Sub() non puo' essere eseguita in questo foglio -->> " & NomeSh
Exit Sub
End If
Application.EnableEvents = False
Application.Calculation = xlManual
For i = 4 To 16 Step 2
DataSet = Cells(11, i)
Set mens1 = Range(Cells(40, i), Cells(46, i))
Set mens2 = Range(Cells(17, i), Cells(34, i))
'''------Mesnsile_1------------------
Set Datamese = Sheets("Mensile_1").Range("E6:AT50")
For Each cella In Datamese
If cella = DataSet Then
colMens = cella.Column
RigMens = cella.Row
Exit For
End If
Next
If colMens = 0 Or RigMens = 0 Then
MsgBox "Attenzione in Mensile_1 non esiste questa data " & Format(DataSet, "dd mm yyyy")
Exit Sub
End If
For Each cella In mens1
Sheets("Mensile_1").Cells(RigMens + 2, colMens) = cella
RigMens = RigMens + 1
Next
'''-------Mensile_2----
Set Datamese = Sheets("Mensile_2").Range("E6:AT50")
For Each cella In Datamese
If cella = DataSet Then
colMens = cella.Column
RigMens = cella.Row
Exit For
End If
Next
If colMens = 0 Or RigMens = 0 Then
MsgBox "Attenzione in Mensile_2 non esiste questa data " & Format(DataSet, "dd mm yyyy")
Exit Sub
End If
Sheets("Mensile_2").Cells(RigMens + 2, colMens) = Cells(13, i)
For Each cella In mens2
Sheets("Mensile_2").Cells(RigMens + 3, colMens) = cella
RigMens = RigMens + 1
Next
Next i
Application.Calculation = xlAutomatic
Calculate
Application.EnableEvents = True
Set mens1 = Nothing
Set mens2 = Nothing
Set Datamese = Nothing
End Sub
|
Sub Crea_Settimana()
Application.EnableEvents = False
Application.Calculation = xlManual
Set lastsh = Sheets(Sheets.Count)
lastsh.Copy After:=lastsh
Sheets(Sheets.Count).Name = Str(Sheets.Count) - 2
Range("S2").Value = Sheets(Sheets.Count).Name
Range("D11").Value = Range("D11").Value + 7
Range("AD40:AJ46").Copy Range("U40")
Range("AD17:AJ34").Copy Range("U17")
Range("AD41:AJ46").Copy Range("AD40")
Range("AD18:AJ34").Copy Range("AD17")
Range("U40:AA40").Copy Range("AD46")
Range("U17:AA17").Copy Range("AD34")
Application.CutCopyMode = False
Set lastsh = Nothing
Set mens1 = Nothing
Set mens2 = Nothing
Set Datamese = Nothing
Application.Calculation = xlAutomatic
Calculate |
Sub Crea_Settimana()
Application.EnableEvents = False
Application.Calculation = xlManual
Set lastsh = Sheets(Sheets.Count)
lastsh.Copy After:=lastsh
Sheets(Sheets.Count).Name = Str(Sheets.Count) - 2
Range("S2").Value = Sheets(Sheets.Count).Name
Range("D11").Value = Range("D11").Value + 7
Range("AD40:AJ46").Copy Range("U40")
Range("AD17:AJ34").Copy Range("U17")
Range("AD41:AJ46").Copy Range("AD40")
Range("AD18:AJ34").Copy Range("AD17")
Range("U40:AA40").Copy Range("AD46")
Range("U17:AA17").Copy Range("AD34")
Application.CutCopyMode = False
Set lastsh = Nothing
Application.Calculation = xlAutomatic
Calculate
Application.EnableEvents = True
End Sub
|
