[EXCEL] Attivare menù quando clicco su una cella

Buon giorno a tutti.
Sto sviluppando un nuovo file excel per la gestione dei progetti del mio ufficio.
I dati della tabella che devo compilare sono per metà "nuovi" ogni volta, per l'altra metà sono ripetitivi.
Mi domandavo se era possibile, dopo aver creato un foglio gli elenchi ripetitivi, tramite un click del mouse sulla cella far comparire l'elenco interessato.
Provo a spiegare con un esempio:
- nel foglio "Ref" ho i miei elenchi tipo: 
Prefabbricatore Sistema ecc.
A 1
B 2
- nel foglio "Progetti" nella cella H10 ho il titolo della tabella "Prefabbricatore"
- nel foglio "Progetti" nella cella I10 ho il titolo della tabella "Sistema"

quello che vorrei è cliccare su H11 per selezionare il prefabbricatore interessato, poi stessa cosa su I11 per il sistema e così via a scendere per ogni nuovo progetto che devo inserire.
Credete sia possibile fare una cosa del genere?
Serve una macro oppure c'è qualche opzione di excel che può permettermi di farlo.
Io avevo pensato di creare un'infinità di menu a tendina ma sinceramente non mi pare molto "bello" da vedere.

Grazie a tutti per qualsiasi aiuto.
Ciao
 

Informazioni domanda


Ultimo aggiornamento febbraio 21, 2018 Visualizzazioni 1.646 Si applica a:
Risposta
Ciao Mauro e grazie per la risposta.
Come punto base di partenza mi sembra ottimo. L'unica cosa che "mi disturba" un pochino è il fatto di avere sempre la userform attiva. Esiste la possibilità di farla comparire solo quando mi posiziono su una determinata colonna?

Grazie


Aggiungi questo codice nel modulo di codice di ThisWorkbook:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Sh.Name <> "DATI" Then
        If Target.Column = 3 Then
            UserForm1.Show vbModeless
        Else
            Unload UserForm1
        End If
    End If
End Sub

In pratica se selezioni una cella della colonna C (3) di un foglio che non sia il foglio DATI, ti compare la UserForm, altrimenti viene chiusa.

Se devi farlo per un solo foglio, ad esempio il Foglio2, copia/incolla questa qui sotto nel modulo di codice del Foglio2:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 3 Then
        UserForm1.Show vbModeless
    Else
        Unload UserForm1
    End If
End Sub

Private Sub Worksheet_Deactivate()
    On Error Resume Next
    Unload UserForm1
End Sub

NOTA.

Utilizza una sola delle due soluzioni.

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.