codice:
Sub CreaMenuSint(PBarra, VettMenu, VettVettVoci, VettVettMacro)
Dim i As Integer, j As Integer
Set Bar = CommandBars.Add(Name:=PBarra, Position:=msoBarTop, MenuBar:=True, temporary:=True)
Bar.Visible = True
For i = 0 To UBound(VettMenu)
Bar.Controls.Add Type:=msoControlPopup
With Bar.Controls(i + 1)
.Caption = VettMenu(i)
End With
Next
For i = 0 To UBound(VettVettVoci)
With CommandBars(PBarra).Controls(i + 1)
For j = 0 To UBound(VettVettVoci(i))
With .Controls
.Add
.Item(j + 1).Caption = VettVettVoci(i)(j)
.Item(j + 1).OnAction = VettVettMacro(i)(j)
End With
Next
End With
Next
End Sub
Sub provaCreaMenuSint()
If SwMenu Then
MsgBox "La barra c'è già", vbExclamation
Exit Sub
End If
Pbar = "Menu"
Vmenu = Array("Contatti Vista Totali", "Vendite Viste Totali", _
"Contatti Vista", "Vendite Vista ", "Quinto menu")
VVVoci = Array(Array("Direzione Territoriale", "Area", "Distretto", "Agenzia", "Torna Cruscotto"), _
Array("Direzione Territoriale", "Area", "Distretto", "Agenzia", "Cruscotto"), _
Array("Direzione Territoriale", "Area", "Distretto", "Agenzia", "Cruscotto"), _
Array("Voce 1", "Voce 2"), _
Array("Voce 1", "Voce 2", "Voce 3"))
VVMacro = Array(Array("Miamacro1_1", "Miamacro1_2", "Miamacro1_3", "Miamacro1_4", "Miamacro1_5"), _
Array("Miamacro2_1", "Miamacro2_2", "Miamacro2_3", "Miamacro2_4", "Miamacro2_5"), _
Array("Miamacro3_1", "Miamacro3_2", "Miamacro3_3", "Miamacro3_4", "Miamacro3_5"), _
Array("Miamacro4_1", "Miamacro4_2"), _
Array("Miamacro5_1", "Miamacro5_2", "Miamacro5_3"))
CreaMenuSint Pbar, Vmenu, VVVoci, VVMacro
SwMenu = True
End Sub
Il problema è che facendo la stessa cosa su un'altro modulo e cambiando tutti i nomi