Sub Genera_Report_Lista_L()
Dim lotti_tot, settimana, giorno_lavaggio, data_lavaggio As Variant
Dim rig_tab, rig_v1, rig_tottel, rig_v2, rig_dft, rig_df, rig_v3, rig_veraut As Variant
Dim i, CellePiene As Variant
Dim rig, col_lotto, col_data, col_fornitore, col_prodotto, col_telai As Variant
Dim x1, y1 As Variant
Dim NuovoFoglio As Worksheet
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
lotti_tot = WorksheetFunction.CountIf(Range("P4:P5000"), "X")
settimana = WorksheetFunction.WeekNum(UserForm1_Avvio.DataSettLav.Value, 21)
giorno_lavaggio = WorksheetFunction.Weekday(UserForm1_Avvio.DataSettLav.Value, 2)
If giorno_lavaggio = 1 Then 'se lunedì
data_lavaggio = UserForm1_Avvio.DataSettLav.Value + 3
ElseIf giorno_lavaggio = 2 Then 'se martedì
data_lavaggio = UserForm1_Avvio.DataSettLav.Value + 2
ElseIf giorno_lavaggio = 3 Then 'se mercoledì
data_lavaggio = UserForm1_Avvio.DataSettLav.Value + 1
ElseIf giorno_lavaggio = 4 Then 'se giovedì
data_lavaggio = UserForm1_Avvio.DataSettLav.Value
ElseIf giorno_lavaggio = 5 Then 'se venerdì
data_lavaggio = UserForm1_Avvio.DataSettLav.Value - 1
ElseIf giorno_lavaggio = 6 Then 'se sabato
data_lavaggio = UserForm1_Avvio.DataSettLav.Value - 2
ElseIf giorno_lavaggio = 7 Then 'se domenica
data_lavaggio = UserForm1_Avvio.DataSettLav.Value - 3
End If
rig_tab = lotti_tot + 3 'righe tabella
rig_v1 = rig_tab + 1 'riga vuota1
rig_tottel = rig_v1 + 1 'riga totale telai
rig_v2 = rig_tottel + 1 'riga vuota2
rig_dft = rig_v2 + 1 'riga data e firma titoli
rig_df = rig_dft + 1 'riga data e firma
rig_v3 = rig_df + 1 'riga vuota3
rig_veraut = rig_v3 + 1 'riga versione ed autore
'ANTI-SFARFALLIO
Application.ScreenUpdating = False
'AGGIUNGO UN FOGLIO, LO RINOMINO E LO POSIZIONO PER ULTIMO
Set NuovoFoglio = Worksheets.Add
NuovoFoglio.Name = "Lavaggio"
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Move After:=Sheets(Sheets.Count)
'IMPOSTO DIMENSIONI RIGHE
Rows("1:1").RowHeight = 54 'riga logo e titolo
Rows("2:2").RowHeight = 9 'riga vuota0
Rows("3:3").RowHeight = 24 'riga intestazioni
Rows("4:" & rig_tab).RowHeight = 24 'righe tabella
Rows(rig_v1 & ":" & rig_v1).RowHeight = 9 'riga vuota1
Rows(rig_tottel & ":" & rig_tottel).RowHeight = 24 'riga totale telai
Rows(rig_v2 & ":" & rig_v2).RowHeight = 9 'riga vuota2
Rows(rig_dft & ":" & rig_dft).RowHeight = 24 'riga data e firma titoli
Rows(rig_df & ":" & rig_df).RowHeight = 42 'riga data e firma
Rows(rig_v3 & ":" & rig_v3).RowHeight = 9 'riga vuota3
Rows(rig_veraut & ":" & rig_veraut).RowHeight = 15 'riga versione e autore
'IMPOSTO DIMENSIONI COLONNE
Columns("A:B").ColumnWidth = 12 'colonne lotto e data
Columns("C:C").ColumnWidth = 18 'colonna fornitore
Columns("D:D").ColumnWidth = 31 'colonna prodotto
Columns("E:F").ColumnWidth = 5 'colonne telai
'UNISCO CELLE
Range("A1:B1").Merge 'posizione logo
Range("C1:F1").Merge 'posizione titolo
Range("E3:F3").Merge 'posizione intestazione telai
Range("A" & rig_dft & ":" & "B" & rig_dft).Merge 'posizione data titolo
Range("C" & rig_dft & ":" & "F" & rig_dft).Merge 'posizione firma titolo
Range("A" & rig_df & ":" & "B" & rig_df).Merge 'posizione data
Range("C" & rig_df & ":" & "F" & rig_df).Merge 'posizione firma
Range("D" & rig_veraut & ":" & "F" & rig_veraut).Merge 'posizione autore
'SCRIVO INTESTAZIONI COLONNE E VARIE
Range("C1").Value = "Elenco dei Prodotti da Lavare il " & _
data_lavaggio & " Settimana N°" & settimana
Range("A3").Value = "Lotto"
Range("B3").Value = "Data"
Range("C3").Value = "Fornitore"
Range("D3").Value = "Prodotto"
Range("E3").Value = "Telai"
Range("D" & rig_tottel).Value = "Totale Telai"
Range("A" & rig_dft).Value = "DATA"
Range("C" & rig_dft).Value = "FIRMA"
Range("A" & rig_veraut).Value = "Ver.1.0"
Range("D" & rig_veraut).Value = "by User"
'APPLICO I BORDI TABELLA E I FORMATI TESTO
Range("A2:F2").Value = "0"
Range("A2:F2").Font.ThemeColor = xlThemeColorDark1
Range("A2:F2").Font.TintAndShade = 0
Range("B:B").NumberFormat = "dd/mm/yyyy"
Range("D" & rig_tottel).Font.Size = 12
Range("D" & rig_tottel).Font.Bold = True
Range("D" & rig_tottel).HorizontalAlignment = xlRight
Range("A" & rig_veraut).Font.Size = 8
Range("A" & rig_veraut).HorizontalAlignment = xlLeft
Range("D" & rig_veraut).Font.Size = 8
Range("D" & rig_veraut).HorizontalAlignment = xlRight
With Range("A1:B1") 'logo
.Borders(xlEdgeLeft).LineStyle = xlDash
.Borders(xlEdgeRight).LineStyle = xlDash
.Borders(xlEdgeTop).LineStyle = xlDash
.Borders(xlEdgeBottom).LineStyle = xlDash
End With
With Range("C1:F1") 'titolo
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlDash
.Borders(xlEdgeRight).LineStyle = xlDash
.Borders(xlEdgeTop).LineStyle = xlDash
.Borders(xlEdgeBottom).LineStyle = xlDash
.Font.Size = 18
.Font.Bold = True
.WrapText = True
End With
With Range("A3:F3") 'intestazione tabella
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Interior.ThemeColor = xlThemeColorAccent4
.Interior.TintAndShade = 0.599963377788629
.Font.Size = 12
.Font.Bold = True
End With
With Range("A4:D" & rig_tab) 'tabella ESCLUSO TELAI
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
With Range("E4:F" & rig_tab) 'tabella SOLO TELAI
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlDash
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End With
With Range("E" & rig_tottel & ":" & "F" & rig_tottel) 'totale telai
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlDash
End With
With Range("A" & rig_dft & ":" & "F" & rig_df) 'data e firma
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideHorizontal).LineStyle = xlContinuous
.Font.Size = 18
.Font.Bold = True
End With
Range("A1:F" & rig_veraut).VerticalAlignment = xlCenter
'INSERISCO IL LOGO
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Workbooks(FILE_LAVORO).Worksheets("LISTE").Shapes("Logo Viani").Copy
ActiveSheet.Paste Destination:=Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Range("A1")
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Shapes("Logo Viani").Name = "logo1"
With ActiveSheet.Pictures("logo1")
.Left = 12.75
.Top = 1.5
End With
'ESTRAGGO LOTTI E INFO DA DATABASE E LI METTO SUL REPORT DI STAMPA
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
CellePiene = WorksheetFunction.CountA(Range("A4:A5000"))
UserForm1_Avvio.ProgressBar2.Max = CellePiene
UserForm1_Avvio.ProgressBar2.Value = 0
For i = 4 To CellePiene
If Len(Cells(i, Range("RIF_DATALAV_X").Column).Value) <> 0 Then
UserForm1_Avvio.ProgressBar2.Value = i
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
'cerco riferimento riga e colonna
rig = Cells(i, Range("RIF_DATALAV_X").Column).Row
col_lotto = Range("RIF_LOTTO").Column
col_data = Range("RIF_DATA").Column
col_fornitore = Range("RIF_FORNITORE").Column
col_prodotto = Range("RIF_PRODOTTO").Column
col_telai = Range("RIF_TELAI").Column
'lotto
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
Cells(rig, col_lotto).Copy
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'data
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
Cells(rig, col_data).Select
Selection.Copy
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("B2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'fornitore
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
Cells(rig, col_fornitore).Select
Selection.Copy
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("C2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'prodotto
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
Cells(rig, col_prodotto).Select
Selection.Copy
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("D2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'telai
Workbooks(FILE_LAVORO).Worksheets("DATABASE").Select
Cells(rig, col_telai).Select
Selection.Copy
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("E2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
UserForm1_Avvio.ProgressBar2.Value = 0
Next i
'CONTEGGIO I TELAI
Workbooks(FILE_LAVORO).Worksheets("Lavaggio").Select
Range("E" & rig_tottel).Value = WorksheetFunction.Sum(Range("E4:E" & rig_tab).Value)
'SETTO AREA DI STAMPA
x1 = Cells(1, 1).Address
y1 = Cells(rig_veraut, 6).Address
Range("Area_Lista_Lavaggio").Value = "" & x1 & ":" & y1 & ""
'ANTI-SFARFALLIO
Application.ScreenUpdating = True
Set lotti_tot = Nothing
Set settimana = Nothing
Set giorno_lavaggio = Nothing
Set data_lavaggio = Nothing
Set rig_tab = Nothing
Set rig_v1 = Nothing
Set rig_tottel = Nothing
Set rig_v2 = Nothing
Set rig_dft = Nothing
Set rig_df = Nothing
Set rig_v3 = Nothing
Set rig_veraut = Nothing
Set i = Nothing
Set CellePiene = Nothing
Set rig = Nothing
Set col_lotto = Nothing
Set col_fornitore = Nothing
Set col_prodotto = Nothing
Set col_telai = Nothing
Set x1 = Nothing
Set y1 = Nothing
Set NuovoFoglio = Nothing
End Sub
|