Në disa raste, mund të dëshironi që përdoruesi të zgjedhë një gamë Excel VBA ndërsa shfaqet një kuti dialogu. Një shembull i këtij lloji të përzgjedhjes së diapazonit Excel VBA ndodh në kutinë e dialogut Krijo tabelën, e cila shfaqet kur zgjidhni Home → Fut → Tabelat → Tabela. Kutia e dialogut "Krijo tabelën" ka një kontroll përzgjedhës të diapazonit që përmban supozimin e Excel-it në lidhje me diapazonin që do të konvertohet — por ju mund ta përdorni këtë kontroll për të ndryshuar diapazonin duke zgjedhur qelizat në fletën e punës.
Për të lejuar një përzgjedhje të intervalit Excel VBA në kutinë tuaj të dialogut, shtoni një kontroll RefEdit. Shembulli i mëposhtëm shfaq një kuti dialogu me adresën e diapazonit aktual të rajonit të shfaqur në një kontroll RefEdit. Rajoni aktual është blloku i qelizave jo boshe që përmban qelizën aktive. Përdoruesi mund të pranojë ose ndryshojë këtë gamë. Kur përdoruesi klikon OK, procedura e bën intervalin të theksuar.
Kjo kuti dialogu i lejon përdoruesit të zgjedhë një gamë.
Ky shembull Excel VBA supozon sa vijon:
- Ju keni një UserForm të quajtur UserForm1.
- UserForm përmban një kontroll CommandButton të quajtur OKButton.
- UserForm përmban një kontroll CommandButton të quajtur CancelButton.
- UserForm përmban një kontroll RefEdit të quajtur RefEdit1.
Kodi ruhet në një modul VBA dhe shfaqet këtu. Ky kod bën dy gjëra: inicializon kutinë e dialogut duke caktuar adresën e rajonit aktual në kontrollin RefEdit dhe shfaq UserForm.
Sub Bold Cells ()
' Dil nëse fleta e punës nuk është aktive
Nëse TypeName(ActiveSheet) <> "Worksheet" Pastaj Dilni Sub
' Zgjidhni rajonin aktual
ActiveCell.CurrentRegion.Zgjidh
' Inicializoni kontrollin RefEdit
UserForm1.RefEdit1.Text = Zgjedhja.Adresa
' Shfaq dialogun
UserForm1.Trego
Fundi Nën
Procedura e mëposhtme ekzekutohet kur klikohet butoni OK. Kjo procedurë bën një kontroll të thjeshtë gabimesh për t'u siguruar që diapazoni i specifikuar në kontrollin RefEdit është i vlefshëm.
Nën Private OKButton_Click()
Në gabim GoTo BadRange
Range(RefEdit1.Text).Font.Bold = True
Shkarko UserForm1
Dilni Nën
Gama e keqe:
MsgBox "Sfera e specifikuar nuk është e vlefshme."
Fundi Nën
Nëse ndodh një gabim në Excel VBA (ka shumë të ngjarë një specifikim i pavlefshëm i diapazonit në kontrollin RefEdit), kodi kalon në etiketën BadRange dhe shfaqet një kuti mesazhi. Kutia e dialogut mbetet e hapur në mënyrë që përdoruesi të mund të zgjedhë një gamë tjetër.
Nëse marrja e një diapazoni të zgjedhur nga përdoruesi është i vetmi funksion i kryer nga Forma juaj e Përdoruesit, mund t'i thjeshtoni gjërat duke përdorur metodën Application InputBox.