Ho una cartella di lavoro di Excel contenente alcuni controlli ComboBox posizionati direttamente sui fogli. Si tratta di caselle combinate standard dalla barra degli strumenti Moduli.Excel VBA: trigger Salva come Modifica evento in ComboBox
Quando l'utente utilizza "Salva con nome" per salvare la cartella di lavoro con un nome diverso, attiva l'evento Cambia in tutte le caselle combinate, incluse quelle su fogli che non sono attivi. Ciò sembra irragionevole in quanto la selezione non è effettivamente cambiata. Ciò causa vari comportamenti indesiderati a causa del codice nei gestori di eventi. L'evento non viene attivato su un semplice "Salva".
Google suggests questo è un problema noto in Excel. Ci sono rumours che è causato dall'utilizzo di un intervallo denominato come ListFillRange per la casella combinata, cosa che ho fatto, sebbene non sia un nome volatile. Sto cercando un modo per evitare che ciò accada con modifiche minime al codice e al foglio di calcolo. Qualcuno ha una soluzione comprovata?
Non riesco a riprodurre questo comportamento utilizzando Excel 2007, né utilizzando intervalli normali né utilizzando intervalli denominati. Forse dovresti caricare un esempio ... –
@belisarius Non riesco a caricare la cartella di lavoro completa perché contiene un sacco di codice proprietario. Non ho tempo adesso per provare a produrre un piccolo esempio :( – MarkJ
Impossibile confermare in Excel 2003. Potresti confermare che stai utilizzando il controllo "Forms" e non il controllo erm, "Controls"? dannazione, Microsoft!) Il controllo Forms non ha un evento 'Change' o proprietà come' ListFillRange'. – Lunatik