/ / VBA Userform e intervalli di Excel

Userform e intervalli VBA di Excel

Puoi usare a Controllo RefEdit nel Excel VBA per ottenere un intervallo da un utente. Il userform stiamo andando a creare i colori il valore minimo del gamma memorizzato nel controllo RefEdit.

Userform e intervalli in VBA di Excel

Per creare questo Userform, eseguire i seguenti passaggi.

1. Aprire il Visual Basic Editor. Se Project Explorer non è visibile, fai clic su Visualizza, Esplora progetti.

2. Fare clic su Inserisci, Userform. Se la casella degli strumenti non viene visualizzata automaticamente, fare clic su Visualizza, Casella degli strumenti. Lo schermo dovrebbe essere impostato come di seguito.

Impostazione della schermata Userform in Excel VBA

3. Aggiungi l'etichetta, il controllo RefEdit e i pulsanti di comando. Una volta che questo è stato completato, il risultato dovrebbe essere coerente con l'immagine della forma utente mostrata in precedenza. Ad esempio, creare un controllo RefEdit facendo clic su RefEdit dalla casella degli strumenti. Successivamente, puoi trascinare un controllo RefEdit sul modulo utente.

Nota: se la casella degli strumenti non dispone di un controllo ModRif, impostare un riferimento al controllo ModRif. Fare clic su Strumenti, Riferimenti e selezionare Controllo modifica ref.

4. È possibile modificare i nomi e le didascalie dei controlli. I nomi sono utilizzati nel codice VBA di Excel. Le didascalie sono quelle che appaiono sullo schermo. È buona norma cambiare i nomi dei controlli, ma qui non è necessario perché in questo esempio abbiamo solo alcuni controlli. Per modificare la didascalia dei pulsanti Userform, label e command, fare clic su View, Properties Window e fare clic su ciascun controllo.

5. Per visualizzare Userform, posizionare un pulsante di comando nel foglio di lavoro e aggiungere la seguente riga di codice:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Ora creeremo Sub UserForm_Initialize. Quando si utilizza il metodo Show per Userform, questo sub verrà eseguito automaticamente.

6. Aprire il Visual Basic Editor.

7. Nell'Esplora progetti, fare clic con il pulsante destro su UserForm1 e quindi scegliere Visualizza codice.

8. Selezionare Userform dall'elenco a discesa a sinistra. Scegli Inizializza dall'elenco a discesa a destra.

9. Aggiungi le seguenti linee di codice:

Private Sub UserForm_Initialize()

Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address

End Sub

Spiegazione: la prima riga del codice cambia il colore del carattere di tutte le celle sul foglio1 in nero. La seconda riga di codice ottiene l'indirizzo della selezione corrente e la visualizza nel controllo RefEdit.

Ora abbiamo creato la prima parte di Userform. Anche se sembra già pulito, non accadrà ancora nulla quando clicchiamo sui pulsanti di comando sul form utente.

10. Nell'Esplora progetti, fare doppio clic su UserForm1.

11. Fare doppio clic sul pulsante Vai.

12. Aggiungi le seguenti linee di codice:

Private Sub CommandButton1_Click()

Dim addr As String, rng, cell As Range, minimum As Double

addr = RefEdit1.Value
Set rng = Range(addr)
minimum = WorksheetFunction.Min(rng)

For Each cell In rng
    If cell.Value = minimum Then cell.Font.Color = vbRed
Next cell

End Sub

Spiegazione: per prima cosa, otteniamo l'indirizzo dal controllo RefEdit e lo memorizziamo nell'add variabile String. Quindi, impostiamo rng all'intervallo specificato nel controllo ModRif. Successivamente, usiamo la funzione del foglio di lavoro Min per trovare il valore minimo nell'intervallo. Infine, coloriamo i valori minimi usando un ciclo.

13. Fare doppio clic sul pulsante Annulla.

14. Aggiungere la seguente riga di codice:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Spiegazione: questa riga di codice chiude Userform quando si fa clic sul pulsante Annulla.

15. Testare il modulo utente.

Risultato:

Userform e Ranges Risultato

Leggi anche: