Jody sta sviluppando pulsanti della barra degli strumenti personalizzati e assegnando macro ai pulsanti. Vuole che i pulsanti siano abilitati ogni volta che almeno un foglio di lavoro è visibile, ma sta cercando il codice appropriato per gestire una situazione del genere.

Ci sono molti modi in cui questo può essere affrontato, come si potrebbe supporre con un ambiente diverso come Excel. Una possibile soluzione è creare una routine che controlli semplicemente se ci sono finestre visibili sullo schermo. Se sono presenti, è possibile abilitare i pulsanti della barra degli strumenti; se non ci sono, possono essere disabilitati. La seguente macro farà proprio questo:

Sub CheckButtons()

Dim bOneOpen As Boolean     Dim I As Integer     Dim J As Integer          bOneOpen = False     For I = 1 To Workbooks.Count         For J = 1 To Workbooks(I).Windows.Count             If Workbooks(I).Windows(J).Visible Then bOneOpen = True         Next J         If bOneOpen Then Exit For     Next I     If bln Then         'enable buttons     Else         'disable buttons     End If End Sub

Notare i due commenti nella parte inferiore della macro. Tutto quello che devi fare è sostituire quei commenti con il codice appropriato per abilitare o disabilitare i pulsanti della barra degli strumenti. (Il codice varia a seconda del numero e della configurazione dei pulsanti.)

Questa macro può essere chiamata manualmente oppure può essere chiamata da qualsiasi evento attivato dalle modifiche della finestra, come quelli che si attivano quando le finestre vengono aperte, ridimensionate, ridotte a icona, ingrandite o ripristinate.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2618) si applica a Microsoft Excel 97, 2000, 2002 e 2003.