Formulare utilizator Excel - Sfaturi Excel

Cuprins
Excel 97 a introdus noi formulare de utilizator. În limba engleză, învață-mă cum să creez și să folosesc o listă.

MrExcel a finalizat recent o aplicație personalizată pentru unul dintre cititorii noștri. În această aplicație Excel, utilizatorul ar introduce 150 de puncte de date pentru un anumit număr de piesă pe foaie.

1. La un clic de buton, acest număr de piesă și valorile de date asociate sunt trimise către o bază de date pe Sheet2. A fost bine, dar apoi am avut nevoie de o modalitate prin care utilizatorul să apeleze o înregistrare din foaia 2, astfel încât să poată revizui intrările. Am vrut să permit utilizatorului să deschidă un formular cu o casetă derulantă care să arate toate articolele de pe foaie

2. Utilizatorul ar putea derula, alege un articol și apoi aș trage acele valori de la foaia 2 până la foaia 1.

La fel ca mulți dintre voi, am început să scriu macro-uri Excel în Excel 5.0. Întregul Editor Macro din Excel 97 este un pic intimidant. Pentru sfatul acestei săptămâni, vă voi arăta, pas cu pas, cum să creați caseta de listă pentru acest proiect. Accentul din această săptămână este doar pe caseta combinată. Publicul țintă este cineva care cunoaște elementele de bază ale macro-urilor Excel, dar care nu a folosit niciodată un formular pentru a interacționa cu un macro.

Primul pas: am schimbat macro-urile existente astfel încât, atunci când au adăugat o înregistrare la foaia2, macro-ul să numească intervalul care conține numerele pieselor care urmează să fie denumite „PartList”. Există un titlu în celula A1, cu primul element în celula A2. Am folosit comanda End pentru a găsi ultimul rând:

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

Al doilea pas: Layout formularul casetă listă. Urmați acești pași:

  • Porniți Editorul Visual Basic apăsând alt-F11
  • Din meniu, selectați Inserare> Formular utilizator. Editorul ar trebui să vă ofere un UserForm1 necompletat.
  • Dacă nu vedeți caseta Properties-UserForm1 în colțul din stânga jos, apăsați pictograma „Fereastra Properties” - arată ca o mână cu un deget îndreptat către o foaie albă.
  • A patra intrare în fereastra de proprietăți este Subtitrare. În acest moment, legenda va fi UserForm1. Faceți clic pe caseta din dreapta Subtitrării în fereastra Proprietăți și tastați un nou titlu pentru formular. Am sunat-o pe a mea „Selectați un număr de piesă de examinat”. Am lăsat toate celelalte proprietăți pentru formular în starea lor implicită.
    Crearea unei casete de listă utilizând formularul de utilizator
  • Faceți clic din nou oriunde în interiorul formei de utilizator și va apărea Caseta de instrumente de control.
  • În caseta de instrumente Control, alegeți litera A. Faceți clic și trageți pentru a crea o casetă de etichete în partea de sus a formularului. Este implicit să aibă o legendă Label1. Faceți din nou clic în interiorul casetei de text și puteți edita subtitrarea. Puneți instrucțiuni utilizatorului aici: „Alegeți un articol din lista de mai jos și faceți clic pe OK pentru a revizui valorile”.
  • Faceți clic pe formular, dar în afara casetei de etichete și veți vedea din nou caseta de instrumente de control. Al patrulea element din rândul de sus este un instrument de casetă combinată. Faceți clic pe acesta și trageți în formularul de utilizator pentru a crea o casetă combinată. Aici va apărea lista numerelor de piesă. Numele implicit este ComboBox1.
    Proprietăți Combobox
  • Fereastra de proprietăți vă va arăta acum proprietățile pentru ComboBox1. Derulați în jos prin proprietăți până când vedeți proprietatea RowSource. Pentru proprietatea RowSource, tastați = Sheet2! PartList
  • Acum puteți rula un test rapid pentru a vă asigura că lucrurile funcționează corect. Faceți clic pe bara de titlu a formularului dvs. de utilizator pentru a selecta întregul formular. Acum faceți clic pe pictograma „redare” (arată ca butonul de redare de pe aparatul video). Veți fi returnat în registrul dvs. de lucru Excel și veți avea forma noastră de utilizator simplă. Dacă faceți clic pe meniul derulant cu numărul piesei, ar trebui să vedeți o listă cu numere de piese valide. Alegeți una și va rămâne în caseta combinată. Până acum, nu prea interesant. Faceți clic pe micul X din colțul din dreapta sus pentru a închide caseta.
  • Reveniți la editorul Visual Basic. Faceți clic pe formularul de utilizator pentru a afișa Control Toolbox. Faceți clic pe instrumentul CommandButton și desenați un buton. Schimbați legenda pentru a fi OK utilizând fereastra Properties - CommandButton1.
  • Desenați un al doilea buton și etichetați-l Anulați.
  • Aproape am terminat. Să legăm un pic de cod la butonul Anulare. Faceți clic dreapta pe butonul Anulare și selectați „Vizualizare cod”. Editorul va configura instrucțiunile Sub și End Sub. Între ele, tastați o linie de cod:
    UserForm1.Hide
  • Da, asta este tot ceea ce înseamnă atribuirea codului unui buton. Pentru a reveni la forma de utilizator, faceți dublu clic pe cuvintele UserForm1 din fereastra proiectului. (Nu puteți vedea fereastra proiectului? Apăsați pe pictograma Project Explorer, doar în stânga pictogramei Proprietăți.)
  • Pentru a finaliza formularul de utilizator 1, să facem ceva cu butonul OK. Când utilizatorul dă clic pe OK, vreau ca valoarea din caseta listă să apară în fila 1 a celulei A2 și apoi vreau să lansez o macro pe care am scris-o anterior numită ReviewItem. Faceți clic dreapta pe butonul OK și selectați Vizualizare cod. Introduceți acest cod pentru Private Sub CommandButton1_Click ():
    Worksheets("Sheet1").Range("A2") = UserForm1.ComboBox1.Value UserForm1.Hide ReviewItem

Felicitări! Ați terminat primul formular de utilizator. Pentru a face formularul să apară, rulați o macrocomandă care are această linie:

UserForm1.Show

Formularul va arăta cam așa:

Formular de utilizator finalizat

Articole interesante...