U nekim slučajevima možda ćete željeti da korisnik odabere raspon Excel VBA dok je prikazan dijaloški okvir. Primjer ove vrste odabira raspona Excel VBA pojavljuje se u dijaloškom okviru Kreiraj tablicu, koji se prikazuje kada odaberete Početna → Umetanje → Tablice → Tablica. Dijaloški okvir Stvaranje tablice ima kontrolu birača raspona koja sadrži Excelovo nagađanje u vezi s rasponom koji treba pretvoriti — ali ovu kontrolu možete koristiti za promjenu raspona odabirom ćelija na radnom listu.
Da biste omogućili odabir raspona Excel VBA u svom dijaloškom okviru, dodajte kontrolu RefEdit. Sljedeći primjer prikazuje dijaloški okvir s adresom raspona trenutne regije prikazanom u kontroli RefEdit. Trenutna regija je blok nepraznih ćelija koji sadrži aktivnu ćeliju. Korisnik može prihvatiti ili promijeniti ovaj raspon. Kada korisnik klikne OK, postupak podebljava raspon.
Ovaj dijaloški okvir omogućuje korisniku odabir raspona.
Ovaj Excel VBA primjer pretpostavlja sljedeće:
- Imate korisnički obrazac pod nazivom UserForm1.
- UserForm sadrži kontrolu CommandButton pod nazivom OKButton.
- UserForm sadrži kontrolu CommandButton pod nazivom CancelButton.
- Korisnički obrazac sadrži kontrolu RefEdit pod nazivom RefEdit1.
Kod je pohranjen u VBA modulu i prikazan ovdje. Ovaj kod čini dvije stvari: inicijalizira dijaloški okvir dodjeljivanjem adrese trenutne regije kontroli RefEdit i prikazuje korisnički obrazac.
Podebljane ćelije()
' Izađite ako radni list nije aktivan
Ako TypeName(ActiveSheet) <> "Worksheet" Zatim izađite iz Sub
' Odaberite trenutnu regiju
ActiveCell.CurrentRegion.Select
' Inicijalizirajte RefEdit kontrolu
UserForm1.RefEdit1.Text = Selection.Address
' Prikaži dijaloški okvir
UserForm1.Show
Kraj Sub
Sljedeći postupak se izvršava kada se klikne na gumb OK. Ovaj postupak radi jednostavnu provjeru pogreške kako bi se uvjerio da je raspon naveden u kontroli RefEdit valjan.
Privatni pod OKButton_Klik()
U slučaju pogreške GoTo BadRange
Raspon (RefEdit1.Text).Font.Podebljano = Istina
Učitajte korisnički obrazac1
Izlaz pod
BadRange:
MsgBox "Navedeni raspon nije valjan."
Kraj Sub
Ako dođe do pogreške u Excel VBA (najvjerojatnije nevažeća specifikacija raspona u kontroli RefEdit), kod skače na oznaku BadRange i prikazuje se okvir s porukom. Dijaloški okvir ostaje otvoren tako da korisnik može odabrati drugi raspon.
Ako je dobivanje raspona odabranog korisnika jedina funkcija koju izvodi vaš korisnički obrazac, stvari možete pojednostaviti korištenjem metode Application InputBox.