visto che ci sono ecco la macro parte finale di "GENERA" alla quale ho tolto tutto il codice che gestisce gli "ECO" (ho riportato solo l'ultimo Sfere PRO 450 per farti vedere dove inserire la chiamata a "GENERA_BIS"
- Codice: Seleziona tutto
Public Sub Genera()
CUT
' Sfere PRO 450
With sh1
lRiga1 = .Range("A" & .Rows.Count).End(xlUp).Row
lRiga2 = sh6.Range("A" & .Rows.Count).End(xlUp).Row
If lRiga2 < 5 Then lRiga2 = 4
'filtro per Sfere PRO 450
Sheets("Forniture").Select
ActiveSheet.Range("$A$3:$N$100").AutoFilter Field:=5, Criteria1:="=P-450", _
Operator:=xlAnd
If .Range("A4" & lRiga1).SpecialCells(xlCellTypeVisible).Count > 1 Then
With sh6
.Range("A" & lRiga2 + 3).Value = "Codice"
.Range("B" & lRiga2 + 3).Value = "Nome Progetto"
.Range("C" & lRiga2 + 3).Value = "Solaio"
.Range("D" & lRiga2 + 3).Value = "Sistema"
.Range("E" & lRiga2 + 3).Value = "Tipologia alleggerimento"
.Range("F" & lRiga2 + 3).Value = "Nr. Sfere"
.Range("G" & lRiga2 + 3).Value = "Nr. Gabbie"
.Range("H" & lRiga2 + 3).Value = "Disegno Modulo"
.Range("I" & lRiga2 + 3).Value = "Connettori"
.Range("J" & lRiga2 + 3).Value = "Impresa"
.Range("K" & lRiga2 + 3).Value = "Produz."
.Range("L" & lRiga2 + 3).Value = "Relaz. Tecnica"
.Range("M" & lRiga2 + 3).Value = "Superficie getto [mq]"
.Range("N" & lRiga2 + 3).Value = "Prefabbric."
With .Range("A" & lRiga2 + 3 & ":N" & lRiga2 + 3)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlTop
.WrapText = True
End With
End With
'copio/incollo
.Range("A4:N100" & lRiga1).Copy _
Destination:=sh6.Range("A" & lRiga2 + 4)
With sh6
lRigafine = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("F" & lRigafine + 1).Value = "=SUM(" & sh6.Name & "!F" & lRiga2 + 4 & ":F" & lRigafine & ")"
With .Range("F" & lRigafine + 1)
.Font.Bold = True
.NumberFormat = "0"" sf"""
.Font.Color = -16776961
End With
lRigafine = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("G" & lRigafine + 1).Value = "=SUM(" & sh6.Name & "!G" & lRiga2 + 4 & ":G" & lRigafine & ")"
With .Range("G" & lRigafine + 1)
.Font.Bold = True
.NumberFormat = "0.00"" g"""
.Font.Color = -16776961
End With
lRigafine = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("M" & lRigafine + 1).Value = "=SUM(" & sh6.Name & "!M" & lRiga2 + 4 & ":M" & lRigafine & ")"
With .Range("M" & lRigafine + 1)
.Font.Bold = True
.NumberFormat = "0.00"" mq"""
.Font.Color = -16776961
End With
End With
With sh6
Call mBordi1(.Range("A" & lRiga2 + 3 & ":N" & lRigafine))
Call mBordi2(.Range("A" & lRiga2 + 4 & ":N" & lRigafine))
End With
End If
End With
'tolgo il filtro nel foglio FILE_txt
With sh1
.Range("$A$3:$N$3").AutoFilter Field:=5
End With
'++++++++++++++++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++
Call Genera_BIS(sh1, sh6)
'++++++++++++++++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++
'++++++++++++++++++++++++++++++++++++++++++++++++
'ripristino l'aggiornamento del monitor
Application.ScreenUpdating = True
'Set a Nothing delle variabili oggetto
Set sh = Nothing
Set sh1 = Nothing
Set sh2 = Nothing
Set sh3 = Nothing
Set sh4 = Nothing
Set sh5 = Nothing
Set sh6 = Nothing
End Sub