Come scrivere codice Visual Basic per configurare un'interfaccia utente creato utilizzando un modulo in Excel 2007 e Excel 2010


Forme utente permettono di progettare e creare finestre di dialogo completamente personalizzabili per i libri degli utenti. Essi consentono di:

  • Progettare un'interfaccia semplice e intuitiva per gli utenti di utilizzare
  • Ridurre la quantità di inserimento dati manuale richiesto durante l'immissione e anche il numero di errori nei dati
  • Dati di errore entry verifica dei dati prima che si inserisce nel libro di controllo
  • Infine, una forma ben progettato è visivamente stupefacente e rendere il libro un aspetto professionale

Tuttavia, un modulo di Visual Basic senza controllare le impostazioni sono state aggiunte tutti i controlli (caselle combinate, pulsanti di comando, ecc) non avrà la funzionalità e l'utente sarà in grado di interagire con esso, o utilizzarlo.




Prima di iniziare la codifica di un modulo di utente, è necessario creare uno. Ho un secchio in cui faccio una interfaccia di prenotazione che utilizza diversi tra cui controlli I pulsanti di comando, Tabelle combinate, Le caselle di testo, Spin Bars e Opzione e I pulsanti di opzione. Questo centro può essere trovato qui:


In questo centro, scriveremo una serie di script:

  • In primo luogo, quando il modulo viene inizializzato (in altre parole, quando l'utente fa clic sul pulsante modulo prenotazione nostra interfaccia di prenotazioni di hotel di lancio e poi)
  • Avanti, abbiamo bisogno di uno script quando un utente fa clic sul Aggiungi un'altra prenotazione
  • Un altro script è necessaria quando l'utente seleziona la Chiudere la finestra
  • Infine, abbiamo bisogno di uno script per Scrollbar così la selezione dell'utente viene visualizzata e memorizzata in modo che possa essere inserito nel foglio di calcolo con gli altri dettagli della prenotazione

Creazione di uno script di inizializzazione in Visual Basic a un form in Excel 2007 ed Excel 2010

Per accedere codice assegnato al nostro modulo,

  • Nel Sviluppatore View Source Controlli Gruppo
  • Vai a Forme e fare doppio clic sul modulo creato

Fare doppio clic sul form per la pagina di codice apre. Modificare la prima riga in basso e poi aggiungere tutte le seguenti righe:

Private Sub UserForm_Initialize ()

Nationality.Value = ""

Names.Value = ""

Con ospiti

.AddItem "1"

.AddItem "2"

.AddItem "3"

.AddItem "4"

.AddItem "5"

End With

Carno = True

Colazionesolo = True

Nights.Max = 20

End Sub

La figura seguente mostra il codice con commenti su ogni linea di mostrare ciò che la linea.

Lo script fa un certo numero di cose:

  • In primo luogo, ripristinare la Nazionalità e Nome Di Battesimo le caselle di testo indietro gli spazi vuoti
  • Quindi configurare il Casella combinata per il numero di ospiti
  • Quindi riavviare il Opzione o Radio pulsanti se un cliente ha un Auto o volete Colazione Non devo
  • Infine, impostare il numero massimo di Notti che un ospite può soggiornare a 20

Se sei un principiante in Visual Basic e volete saperne di più su come iniziare a scrivere codice di base, ho un cubo che parte dall'inizio e introduce una serie di comandi utili e come trattare gli errori che si possono trovare qui:

Aggiungi codice Visual pulsante di comando Basic in Excel 2007 ed Excel 2010

Utilizza la nostra interfaccia utente Hotel Reservation due I pulsanti di comando, Aggiungi un'altra prenotazione e Vicino. Questi script vengono eseguiti quando l'utente fa clic su uno dei pulsanti

In primo luogo, diamo un'occhiata allo script che viene attivato quando l'utente Aggiungi un'altra prenotazione

Private Sub CommandButton1_Click ()

Sheets ("riserve"). Attivo

Come Integer Dim sourceCol, rowCount As Integer

Come Integer Dim CurrentRow

As String Dim currentRowValue

sourceCol = 1

rowCount = Cells (Rows.Count, sourceCol) .End (xlUp) .row

Per CurrentRow = 1 Per rowCount

currentRowValue = Cells (CurrentRow, sourceCol) .Value

Se IsEmpty (currentRowValue) O currentRowValue = "" Allora

Cells (CurrentRow, sourceCol) .Select

End If

Il Prossimo

Cells (CurrentRow, 1) .Value = Names.Value

Cells (CurrentRow, 2) .Value = Nationality.Value

Cells (CurrentRow, 3) .Value = Guests.Value

Cells (CurrentRow, 4) .Value = Number_of_Nights.Value

Se CarYes.Value = True Then

Cells (CurrentRow 5) .Value = "Yes"

End If

Se CarNo.Value = True Then

Cells (CurrentRow 5) .Value = "No"

End If

Se BreakfastYes.Value = True Then

Cells (CurrentRow, 6) .Value = "Yes"

End If

Se BreakfastNo.Value = True Then

Cells (CurrentRow, 6) .Value = "No"

End If

Nationality.Value = ""

Names.Value = ""

Carno = True

Colazionesolo = True

Gli ospiti = ""

Nights.Value = 0

Number_of_Nights.Value = ""

End Sub

Questo è lo script più complesso che abbiamo scritto per la nostra interfaccia utente di prenotazione hotel. Esso è suddiviso in quattro sezioni, come illustrato nella figura precedente:

  • La prima parte delle variabili che verranno usate per trovare la prima riga vuota disponibile è presente e indica che la scheda di essere risolto.
  • Il secondo trova la prima riga vuota per aggiungere la seguente riserva. Questo assicura che la prenotazione non è mai in precedenza scritto
  • La terza parte aggiunge dati che sono stati inseriti nel foglio di calcolo
  • La parte finale di nuovi initiliases del modulo in modo che un nuovo cliente viene fatto senza dover cancellare il client precedente

Il seguente script viene utilizzato quando l'utente seleziona la Chiudere la finestra

Riutilizzare il codice per aggiungere i dettagli della prenotazione client in Excel abbiamo scritto per lo script di inizializzazione e poi le chiude forma

Private Sub CommandButton2_Click ()

Sheets ("riserve"). Attivo

Come Integer Dim sourceCol, rowCount As Integer

Come Integer Dim CurrentRow

As String Dim currentRowValue

sourceCol = 1

rowCount = Cells (Rows.Count, sourceCol) .End (xlUp) .row

Per CurrentRow = 1 Per rowCount

currentRowValue = Cells (CurrentRow, sourceCol) .Value

Se IsEmpty (currentRowValue) O currentRowValue = "" Allora

Cells (CurrentRow, sourceCol) .Select

End If

Il Prossimo

Cells (CurrentRow, 1) .Value = Names.Value

Cells (CurrentRow, 2) .Value = Nationality.Value

Cells (CurrentRow, 3) .Value = Guests.Value

Cells (CurrentRow, 4) .Value = Number_of_Nights.Value

Se CarYes.Value = True Then

Cells (CurrentRow, 5) .Value = "Yes"

End If

Se CarNo.Value = True Then

Cells (CurrentRow 5) .Value = "No"

End If

Se BreakfastYes.Value = True Then

Cells (CurrentRow, 6) .Value = "Yes"

End If

Se BreakfastNo.Value = True Then

Cells (CurrentRow, 6) .Value = "No"

End If

Scarica Me

End Sub

Come prima, la figura mostra il codice, insieme con commenti su ogni riga che illustrano ciò che linea è.

Aggiunta di codice Visual Basic per una barra di scorrimento in un form in Excel 2007 ed Excel 2010

Lo script finale abbiamo scritto una sceneggiatura che cattura l'utente seleziona il valore con la barra di scorrimento e lo memorizza in una variabile in modo che possa essere visualizzato nella casella di testo accanto alla barra di scorrimento aggiunta di altri dati di prenotazione il libro:

Private Sub Nights_Change ()

Number_of_Nights.Text = Nights.Value

End Sub

Creare un pulsante di comando per lanciare un modulo in Excel 2007 e Excel 2010

Per avviare il nostro sistema di prenotazione, abbiamo bisogno di un tasto per l'utente a cliccare quando vogliono aggiungere una prenotazione per la cartella di lavoro di Excel. Per fare questo, useremo un Pulsante di comando:

  • Nel Sviluppatore, selezionare il Inserire Controlli Gruppo
  • Controlli ActiveX, seleziona Pulsante di comando
  • Il cursore si trasforma in una croce, per utilizzare questo per la posizione e le dimensioni del nuovo pulsante

  • Quindi selezionare la Design Mode
  • Fare clic destro sul pulsante Nuovo e selezionare Proprietà
  • Selezionare Sottotitolo e cambiare CommandButton1 per prenotazioni
  • Cambia Nome Di Battesimo prenotazioni

Per ulteriori informazioni sulla creazione, configurazione e utilizzando i pulsanti di controllo, ho un centro dedicato che può essere trovato qui:

Ora dobbiamo aggiungere il codice Visual Basic per il nostro pulsante in modo che il sistema di prenotazione viene lanciato, cliccando su:

  • Selezionare di nuovo il pulsante
  • Fai clic sul View Source

Vedrete la seguente

Private Sub Reservations_Click ()

End Sub

  • Aggiungere la seguente in una linea tra due righe di codice

Reservations_Interface.Show

Vi ritroverete con il seguente:

  • Chiudere il Visual Basic
  • Selezionare Design Mode, di nuovo
  • Controlla il nostro pulsante inizia interfaccia standby

Conclusione

Essere in grado di codificare in Visual Basic consente di estendere ciò che Excel può fare per soddisfare al meglio le vostre esigenze e il vostro utente. Oggi, guardiamo alla creazione di codice per portare un'interfaccia utente creato utilizzando una forma di vita. Gli utenti del mio foglio di calcolo hanno ora un'interfaccia completamente funzionale prenotazione che permetterà loro di entrare i dettagli di un cliente di prenotazione in Excel in modo rapido e semplice e con meno errori. Questi dati vengono aggiunti automaticamente a un foglio di calcolo.

Al centro della giornata:

  • Abbiamo creato uno script che imposta la nostra interfaccia utente di utilizzare (impostare tutti i pulsanti e barre)
  • Poi abbiamo scritto sceneggiature per i nostri pulsanti di comando per consentire agli utenti di aggiungere un altro libro o chiudere l'interfaccia
  • Codice è stato aggiunto a una barra di scorrimento per memorizzare e visualizzare la selezione dell'utente
  • Infine, abbiamo aggiunto un pulsante di comando nel nostro lavoro per avviare l'interfaccia utente

La ringrazio molto per la lettura; Mi auguro che hai trovato questo centro utile e informativo. Ho imparato molto durante l'indagine di questo centro e scrivo anche il codice per la mia interfaccia di prenotazione. Sentiti libero di lasciare un commento qui sotto e felice di codifica!

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha