Ciao Amerigo
Innanzitutto mi corre l'obbligo di dire che il crossposting (ossia postare contemporaneamente su più forum la stessa richiesta) non è una pratica molto corretta tant'è che in alcuni forum è vietata dal regolamento (in Forumexcel.it lo è tanto è vero che la discussione che hai aperto lì ti è stata chiusa).
Questo soprattutto per una questione di rispetto nei confronti di chi si accinge a rispondere e non sa che c'è qualcun altro a "lavorare" sullo stesso problema.
Capisco anche che sei nuovo e queste cose non potevi saperle.
Detto questo veniamo al tuo problema.
Ti ho allegato un file dove ti ho inserito le sottostanti macro che fanno quello che hai chiesto (per il momento il solo inserimento dei fogli):
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
If Not Intersect(Target, Range("g4:g100")) Is Nothing Then
If Target.Value = "" Then Exit Sub
Call InserisciFoglio
Call FormattaFoglio
ActiveSheet.Name = Target & " " & Target.Offset(0, -5)
ActiveSheet.Range("a1:k3").Value = Target & " " & Target.Offset(0, -6) & " " & Target.Offset(0, -5) & " " & Target.Offset(0, -3)
Call FormattaFoglioDipendente
End If
Sheets("database").Range("a1").Select
Application.ScreenUpdating = True
End Sub
Sub InserisciFoglio()
Sheets.Add After:=Sheets(Sheets.Count)
End Sub
Sub CancellaFoglio()
Sheets("Foglio1").Select
ActiveWindow.SelectedSheets.Delete
End Sub
Sub FormattaFoglio()
Range("A1:K3").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
End Sub
Sub FormattaFoglioDipendente()
Range("A1:K3").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.Name = "Calibri"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
Selection.Font.Bold = True
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
End Sub
Sul foglio "database" ho spostato il campo "Equipaggio" dalla prima colonna a sinistra all'ultima a destra per motivi che sarebbe complicato spiegare.
Un'altra cosa: nel campo matricola non usare "/" perché questo non è un carattere ammesso nei nomi dei fogli; sostituiscilo con un trattino o un underscore es. 123456-a oppure 123456_a.
Prova un po' il file poi penseremo al problema della cancellazione dei nominativi e relativi fogli.
[Modificato da alfrimpa 10/03/2016 22:20]
Alfredo