June 16
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.
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 = &HFF&
MsgBox "valore di data non valida"
Cancel = True
Altro
DateAdded.BackColor = &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."