I vissa fall kanske du vill att användaren ska välja ett Excel VBA-intervall medan en dialogruta visas. Ett exempel på den här typen av val av Excel VBA-intervall förekommer i dialogrutan Skapa tabell, som visas när du väljer Hem → Infoga → Tabeller → Tabell. Dialogrutan Skapa tabell har en intervallväljarkontroll som innehåller Excels gissning angående intervallet som ska konverteras - men du kan använda den här kontrollen för att ändra intervallet genom att markera celler i kalkylbladet.
För att tillåta val av Excel VBA-intervall i din dialogruta, lägg till en RefEdit-kontroll. Följande exempel visar en dialogruta med den aktuella regionens intervalladress som visas i en RefEdit-kontroll. Den aktuella regionen är blocket av icke-tomma celler som innehåller den aktiva cellen. Användaren kan acceptera eller ändra detta intervall. När användaren klickar på OK gör proceduren intervallet fetstilt.

Denna dialogruta låter användaren välja ett intervall.
Detta Excel VBA-exempel förutsätter följande:
- Du har ett användarformulär som heter UserForm1.
- UserForm innehåller en CommandButton-kontroll som heter OKButton.
- UserForm innehåller en CommandButton-kontroll som heter CancelButton.
- UserForm innehåller en RefEdit-kontroll som heter RefEdit1.
Koden lagras i en VBA-modul och visas här. Den här koden gör två saker: initierar dialogrutan genom att tilldela den aktuella regionens adress till RefEdit-kontrollen och visar UserForm.
Sub BoldCells()
' Avsluta om kalkylbladet inte är aktivt
Om TypeName(ActiveSheet) <> "Worksheet" Avsluta Sub
' Välj den aktuella regionen
ActiveCell.CurrentRegion.Select
' Initiera RefEdit-kontrollen
UserForm1.RefEdit1.Text = Selection.Address
' Visa dialogruta
UserForm1.Show
Avsluta Sub
Följande procedur utförs när du klickar på OK-knappen. Den här proceduren gör en enkel felkontroll för att säkerställa att intervallet som anges i RefEdit-kontrollen är giltigt.
Privat sub OKButton_Click()
Vid fel GoTo BadRange
Range(RefEdit1.Text).Font.Bold = True
Ta bort UserForm1
Avsluta Sub
BadRange:
MsgBox "Det angivna intervallet är inte giltigt."
Avsluta Sub
Om ett fel uppstår i Excel VBA (mest troligt en ogiltig intervallspecifikation i RefEdit-kontrollen), hoppar koden till BadRange-etiketten och en meddelanderuta visas. Dialogrutan förblir öppen så att användaren kan välja ett annat intervall.
Om att få ett användarvalt intervall är den enda funktionen som utförs av ditt UserForm, kan du förenkla saker genom att använda Application InputBox-metoden.