Moduli utente Excel - Suggerimenti Excel

Sommario
Excel 97 ha introdotto nuovi moduli utente. In inglese, insegnami come creare e utilizzare una casella di riepilogo.

MrExcel ha recentemente completato un'applicazione personalizzata per uno dei nostri lettori. In questa app Excel, l'utente immette 150 punti dati per un numero di parte specifico sul foglio.

1. Facendo clic su un pulsante, questo numero di parte ei valori dei dati associati vengono salvati in un database su Sheet2. Questo andava bene, ma poi avevamo bisogno di un modo per l'utente di richiamare un record dal foglio 2 in modo da poter rivedere le voci. Volevo consentire all'utente di aprire un modulo con una casella a discesa che mostra tutti gli elementi sul foglio

2. L'utente può scorrere, selezionare un elemento e quindi estrarre i valori dal foglio 2 fino al foglio 1.

Come molti di voi, ho iniziato a scrivere macro di Excel in Excel 5.0. L'intero editor di macro in Excel 97 è un po 'intimidatorio. Per il suggerimento di questa settimana, ti mostrerò, passo dopo passo, come creare la casella di riepilogo per questo progetto. L'attenzione di questa settimana è solo sulla casella combinata. Il pubblico di destinazione è qualcuno che conosce le basi delle macro di Excel, ma che non ha mai utilizzato un modulo per interagire con una macro.

Primo passaggio: ho modificato le macro esistenti in modo che quando hanno aggiunto un record a sheet2, la macro denominasse l'intervallo contenente i numeri di parte "PartList". C'è un'intestazione nella cella A1, con il primo elemento nella cella A2. Ho usato il comando Fine per trovare l'ultima riga:

LastRow = Range("A6000").End(xlUp).Row ActiveWorkbook.Names.Add Name:="PartList", RefersTo:="=Sheet2!$A$2:$A$" & LastRow

Secondo passaggio: layout del modulo della casella di riepilogo. Segui questi passi:

  • Avvia Visual Basic Editor premendo alt-F11
  • Dal menu, seleziona Inserisci> Modulo utente. L'editor dovrebbe darti un UserForm1 vuoto.
  • Se non vedi la casella Proprietà-UserForm1 nell'angolo in basso a sinistra, premi l'icona "Finestra Proprietà" - sembra una mano con un dito puntato su un foglio bianco.
  • La quarta voce nella finestra delle proprietà è Didascalia. In questo momento, la didascalia sarà UserForm1. Fare clic sulla casella a destra di Didascalia nella finestra Proprietà e digitare un nuovo titolo per il modulo. Ho chiamato il mio "Seleziona un numero di parte da esaminare". Ho lasciato tutte le altre proprietà per il modulo nel loro stato predefinito.
    Creazione della casella di riepilogo utilizzando il modulo utente
  • Fare nuovamente clic in un punto qualsiasi all'interno del modulo utente e verrà visualizzata la casella degli strumenti dei controlli.
  • Nella casella degli strumenti Controlli, seleziona la lettera A. Fai clic e trascina per creare una casella di etichetta nella parte superiore del modulo. L'impostazione predefinita prevede una didascalia di Label1. Fai di nuovo clic all'interno della casella di testo e puoi modificare la didascalia. Inserisci qui le istruzioni per l'utente: "Scegli un elemento dall'elenco seguente e fai clic su OK per rivedere i valori".
  • Fai clic sul modulo, ma fuori dalla casella dell'etichetta e vedrai nuovamente la casella degli strumenti di controllo. Il quarto elemento nella riga superiore è uno strumento casella combinata. Fare clic e trascinare nel modulo utente per creare una casella combinata. Qui è dove apparirà l'elenco dei numeri di parte. Il nome predefinito è ComboBox1.
    Proprietà Combobox
  • La finestra delle proprietà mostrerà ora le proprietà per ComboBox1. Scorri le proprietà verso il basso finché non vedi la proprietà RowSource. Per la proprietà RowSource, digitare = Sheet2! PartList
  • Ora puoi eseguire un rapido test per assicurarti che le cose funzionino correttamente. Fare clic sulla barra del titolo del modulo utente per selezionare l'intero modulo. Ora fai clic sull'icona "Riproduci" (sembra il pulsante di riproduzione sul tuo videoregistratore). Verrai reindirizzato alla tua cartella di lavoro di Excel e avrai il nostro semplice modulo utente. Se fai clic sul menu a discesa del numero di parte, dovresti vedere un elenco di numeri di parte validi. Scegline uno e rimarrà nella casella combinata. Finora, non troppo eccitante. Fare clic sulla piccola X nell'angolo in alto a destra per chiudere la casella.
  • Torna all'editor di Visual Basic. Fare clic sul modulo utente per visualizzare gli strumenti di controllo. Fare clic sullo strumento CommandButton e disegnare un pulsante. Modificare la didascalia in modo che sia OK utilizzando la finestra Proprietà - CommandButton1.
  • Disegna un secondo pulsante e etichettalo come Annulla.
  • Abbiamo quasi finito. Leghiamo un po 'di codice al pulsante Annulla. Fare clic con il pulsante destro del mouse sul pulsante Annulla e selezionare "Visualizza codice". L'editor imposterà le tue istruzioni Sub e End Sub. Tra di loro, digita una riga di codice:
    UserForm1.Hide
  • Sì, questo è tutto ciò che serve per assegnare il codice a un pulsante. Per tornare al modulo utente, fare doppio clic sulle parole UserForm1 nella finestra del progetto. (Non riesci a vedere la finestra del progetto? Premi l'icona Project Explorer, appena a sinistra dell'icona Proprietà.)
  • Per finire user form1, facciamo qualcosa con il pulsante OK. Quando l'utente fa clic su OK, desidero che il valore dalla casella di riepilogo appaia nella cella A2 del foglio1 e quindi voglio avviare una macro che avevo scritto in precedenza chiamata ReviewItem. Fare clic con il pulsante destro del mouse sul pulsante OK e selezionare Visualizza codice. Immettere questo codice per Private Sub CommandButton1_Click ():
    Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem

Congratulazioni! Hai terminato il tuo primo modulo utente. Per far apparire il modulo, esegui una macro che abbia questa riga:

UserForm1.Show

Il modulo sarà simile a questo:

Modulo utente finito

Articoli interessanti...