Bizonyos esetekben előfordulhat, hogy a felhasználónak egy Excel VBA-tartományt kell kiválasztania egy párbeszédpanel megjelenítése közben. Az Excel VBA ilyen típusú tartománykiválasztásának példája a Táblázat létrehozása párbeszédpanelen található, amely akkor jelenik meg, ha a Kezdőlap → Beszúrás → Táblázatok → Táblázat menüpontot választja. A Táblázat létrehozása párbeszédpanel rendelkezik egy tartományválasztó vezérlővel, amely az Excel által az átalakítandó tartományra vonatkozó tippeket tartalmaz – de ezzel a vezérlővel módosíthatja a tartományt a munkalap celláinak kijelölésével.
Ha engedélyezni szeretné az Excel VBA-tartomány kiválasztását a párbeszédpanelen, adjon hozzá egy RefEdit vezérlőt. A következő példa egy párbeszédpanelt jelenít meg az aktuális régió tartománycímével egy RefEdit vezérlőben. Az aktuális régió a nem üres cellák blokkja, amely az aktív cellát tartalmazza. A felhasználó elfogadhatja vagy módosíthatja ezt a tartományt. Amikor a felhasználó az OK gombra kattint, az eljárás félkövérre szedi a tartományt.

Ez a párbeszédpanel lehetővé teszi a felhasználó számára egy tartomány kiválasztását.
Ez az Excel VBA példa a következőket feltételezi:
- Van egy UserForm1 nevű felhasználói űrlapja.
- A UserForm tartalmaz egy OKButton nevű CommandButton vezérlőt.
- A UserForm egy CancelButton nevű CommandButton vezérlőt tartalmaz.
- A UserForm egy RefEdit1 nevű RefEdit vezérlőt tartalmaz.
A kód egy VBA-modulban van tárolva, és itt látható. Ez a kód két dolgot tesz: inicializálja a párbeszédpanelt az aktuális régió címének a RefEdit vezérlőhöz való hozzárendelésével, és megjeleníti a UserForm-ot.
Félkövér Cellák()
Lépjen ki, ha a munkalap nem aktív
Ha TypeName(ActiveSheet) <> "Worksheet", akkor lépjen ki a Sub
' Válassza ki az aktuális régiót
ActiveCell.CurrentRegion.Select
Inicializálja a RefEdit vezérlőt
UserForm1.RefEdit1.Text = Selection.Address
' Párbeszéd megjelenítése
UserForm1.Show
Vége Sub
Az OK gombra kattintva a következő eljárás kerül végrehajtásra. Ez az eljárás néhány egyszerű hibaellenőrzést végez, hogy megbizonyosodjon arról, hogy a RefEdit vezérlőben megadott tartomány érvényes.
Privát Sub OKButton_Click()
Hiba esetén GoTo BadRange
Tartomány(RefEdit1.Text).Font.Bold = Igaz
UserForm1 eltávolítása
Exit Sub
BadRange:
MsgBox "A megadott tartomány nem érvényes."
Vége Sub
Ha hiba történik az Excel VBA-ban (valószínűleg érvénytelen tartomány-specifikáció a RefEdit vezérlőben), a kód a BadRange címkére ugrik, és megjelenik egy üzenetablak. A párbeszédpanel nyitva marad, így a felhasználó választhat másik tartományt.
Ha egy felhasználó által kiválasztott tartomány az egyetlen funkció, amelyet a UserForm hajt végre, akkor az Application InputBox metódussal leegyszerűsítheti a dolgokat.