Come creare moduli utente con Excel 2003

June 16

Come creare moduli utente con Excel 2003


La creazione di moduli utente in Excel 2003 consente l'immissione dei dati un gioco da ragazzi. I moduli che vengono utilizzati per raccogliere e verificare le informazioni da un utente proteggere il foglio di lavoro da modifiche non necessarie e cancellazioni che gli utenti potrebbero fare se dato accesso alla lista dati effettivi rispetto al corrispondente foglio di lavoro. Ogni forma si crea sarà richiesta e raccogliere informazioni diverse, ma una volta che si impara di Visual Basic, Applications Edition (VBA) per quello che si può costruire e personalizzare qualsiasi forma in Excel 2003.

istruzione

1 Nel menu "Strumenti", scegliere "Macro" e quindi su "Visual Basic Editor" o premere "ALT" + "F11" per aprire l'editor di Visual Basic. Aprire il menu "Main", selezionare "Inserisci" e fare clic su "Form utente" per creare un nuovo oggetto form.

2 Posizionare un controllo TextBox e un controllo Label per ogni colonna del foglio di lavoro nel form facendo doppio clic sul controllo o trascinandoli dalla casella degli strumenti nel form. Sostituire qualsiasi TextBox e la combinazione Etichetta con un controllo ComboBox se si vuole presentare all'utente una lista di opzioni tra cui scegliere per il campo, piuttosto che una casella di testo.

3 Assegnare le proprietà nome di campo corretto alle caselle di testo e combo digitando i nomi dei campi del database corrispondenti nella linea Nome proprietà nella sua finestra delle proprietà corrispondente. Modificare le proprietà didascalia a un nome di visualizzazione user-friendly, allo stesso tempo.

4 Fare doppio clic sul "CommandButton" strumento di controllo di quattro volte per aggiungere i pulsanti Primo, Precedente, Successivo e Ultimo per il modulo. Digitare i loro nomi nella linea Didascalia proprietà nelle loro finestre degli immobili corrispondenti.

5 Trascinare un controllo TextBox nel form tra i comandi Indietro e Avanti. Tipo "RowNumber" nella sua linea Nome proprietà. Tipo "2 'sulla linea di Proprietà Text.

6 Fare clic o trascinare tre controlli CommandButton aggiuntivi nel form. Digitare "Salva", "Cancel" e "Aggiungi" sui loro corrispondenti linee nome della proprietà. Impostare la proprietà Enabled su False sul Salva e Annulla pulsanti di comando quando si digita le proprietà del nome.

7 Disporre i controlli e le etichette, quindi regolare le dimensioni del modulo utente con il metodo click e trascinare fino a quando si è certi che la forma è facile da usare e piacevole per un utente.

8 Aggiungere eventuali altre caselle di testo e impostare le proprietà come necessario per la funzionalità e fascino aggiuntivo. Si consiglia una scatola titolo modulo.

9 Tipo questa routine GetData nella finestra del codice VBA sostituire i nomi delle colonne (proprietà nome del campo) e tipi di dati con il campione CustomerId, CustomerName, città, stato, i nomi di Zip e colonna DateAdded:

"Private Sub GetData ()

Dim r As Long

Se IsNumeric (RowNumber.Text) Poi

r = CLng(RowNumber.Text)

Altro

ClearData

MsgBox "numero di riga non valida"

Exit Sub

Finisci se

Se r> 1 e R <= LastRow Poi

CustomerId.Text = FormatNumber(Cells(r, 1), 0)

CustomerName.Text = Cellule (R, 2)

City.Text = Cells (r, 3)

State.Text = Cells (r, 4)

Zip.Text = Cells (r, 5)

DateAdded.Text = FormatDateTime (Cellule (R, 6), vbShortDate)

DisableSave

ElseIf r = 1 Poi

ClearData

Altro

ClearData

MsgBox "numero di riga non valido"

Finisci se

End Sub "

10 Tipo questa routine clearData nella finestra del codice VBA. Sostituire i nomi delle colonne (proprietà nome del campo) con il CustomerId campione, CustomerName, città, stato, i nomi di Zip e colonna DateAdded:

"Private Sub clearData ()

CustomerId.Text = ""

CustomerName.Text = ""

City.Text = ""

State.Text = "AK"

Zip.Text = ""

DateAdded.Text = ""

End Sub "

11 Digitare il seguente comando costante LastRow nella finestra del codice VBA:

"Const LastRow = 20"

12 Tipo questa routine DisableSave nella finestra del codice VBA:

"Private Sub DisableSave ()

CommandButton5.Enabled = False

CommandButton6.Enabled = False

End Sub "

13 Tipo questa routine di nome RowNumber_Change nella finestra del codice VBA:

"Sub RowNumber_Change privato ()

GetData

End Sub "

14 Impostare il comando evento appropriato digitando questo nella finestra del codice VBA:

"RowNumber.Text =" 2 ""

15 Impostare i pulsanti Indietro e Avanti codici digitando questo nella finestra del codice VBA:

"Private Sub CommandButton2_Click ()

Dim r As Long

Se IsNumeric (RowNumber.Text) Poi

r = CLng(RowNumber.Text)

r = r? 1

Se r> 1 e R & lt; = LastRow Poi

RowNumber.Text = FormatNumber (r, 0)

Finisci se

Finisci se

End Sub "

16 Digitare il codice variabile costante LastRow nella finestra del codice VBA:

"Private Sub UserForm_Initialize ()

GetData

End Sub "

17 Tipo questa routine FindLastRow () nella finestra del codice VBA:

"Private Function FindLastRow ()

Dim r As Long

r = 2

Do While r <65536 e Len (Cellule (R, 1) .Text)> 0

r = r + 1

Ciclo continuo

FindLastRow = r

End Function "

18 Digitare questi eventi UserForm_Initialize nella finestra del codice VBA:

"LastRow = FindLastRow

Private Sub CommandButton4_Click ()

LastRow = FindLastRow - 1

RowNumber.Text = FormatNumber (LastRow, 0)

End Sub "

19 Digitare la routine PutData nella finestra del codice cambiando i nomi delle colonne dei campioni e le posizioni per abbinare il vostro foglio di lavoro:

"Private Sub PutData ()

Dim r As Long

Se IsNumeric (RowNumber.Text) Poi

r = CLng(RowNumber.Text)

Altro

MsgBox "Illegal row number"

Exit Sub

Finisci se

Se r> 1 e R <LastRow Poi

Cells(r, 1) = CustomerId.Text

Cellule (R, 2) = CustomerName.Text

Cellule (R, 3) = City.Text

Cellule (R, 4) = State.Text

Cellule (R, 5) = Zip.Text

Cellule (R, 6) = DateAdded.Text

DisableSave

Altro

MsgBox "Invalid row number"

Finisci se

End Sub "

20 Tipo questo Aggiunta di routine dei dati nella finestra del codice:

"Private Sub CommandButton7_Click ()

RowNumber.Text = FormatNumber (LastRow, 0)

End Sub "

21 Tipo questa routine convalida di dati nella finestra del codice:

"Private Sub CustomerId_KeyPress (ByVal KeyAscii Come MSForms.ReturnInteger)

Se KeyAscii <Asc ( "0") o KeyAscii> Asc ( "9") Poi

KeyAscii = 0

Finisci se

End Sub "

22 Digita il codice evento di uscita nella finestra del codice VBA:

"Private Sub DateAdded_Exit (ByVal Annulla Come MSForms.ReturnBoolean)

Se non IsDate (DateAdded.Text) Poi

DateAdded.BackColor = &amp;HFF&amp;

MsgBox "valore di data non valida"

Cancel = True

Altro

DateAdded.BackColor = &amp;H80000005

Finisci se

End Sub "

23 Digitare questi particolari menù a cascata nella finestra del codice:

"AddStates Sub privato ()

State.AddItem "AK"

State.AddItem "AL"

State.AddItem "AR"

State.AddItem "AZ"

End Sub "

24 Digitare questi Visualizzazione l'utente comanda modulo nella finestra del codice VBA:

"Public Sub ShowForm ()

UserForm1.Show vbModal

End Sub "

25 Review e testo vostre istruzioni di forma e di codifica selezionando "Esegui" dal "Main Visual Basic for Applications Menu."

Consigli e avvertenze

  • Non includere all'inizio e alla fine virgolette sulle stringhe di codice. Essi sono inclusi notare ciò che deve essere digitato.
  • La codifica VBA è impostato per un modulo con i dati di esempio. È necessario regolare i nomi dei campi e tipi di dati di conseguenza.