VBA saraksta kaste - atlasītais vienums

Šajā rakstā tiks parādīts, kā strādāt ar atlasīto vienumu saraksta lodziņā programmā Excel VBA.

Saraksta lodziņi lielākoties tiek izmantoti VBA veidlapās, taču tos var izmantot arī Excel darblapā. Tie lietotājiem parāda opciju sarakstu, no kuriem vienu vai vairākus lietotājs var izvēlēties.

Saraksta lodziņa izveide VBA formā

Lai izveidotu saraksta lodziņu VBA formā, mums vispirms ir jāizveido UserForm.

Kad esat izveidojis veidlapu, rīkjoslā atlasiet saraksta lodziņa vadīklu un pēc tam velciet, lai veidlapā izveidotu saraksta lodziņu.

Vērtību pievienošana saraksta lodziņam

Veidlapas inicializācijas notikumā ierakstiet šādu kodu. Saraksta lodziņš uzņems vērtības, kas tiek saglabātas jūsu Excel darblapas šūnu diapazonā.

123456 Privāts apakšlietotājsForm_Initialize ()Dim rng As RangeKatram diapazonam ("A1: A50")Me.lstState.AddItem rng.ValueNākamais rngBeigu apakš

Izpildot veidlapu, tiks parādīts saraksta lodziņš, kā parādīts attēlā:

Vērtību izvēle saraksta lodziņā

Pēc noklusējuma lietotāja veidlapas saraksta lodziņā var atlasīt vienu vērtību. Tomēr to var mainīt, mainot saraksta lodziņa rekvizītu Multi-Select.

Noklikšķiniet uz saraksta lodziņa, lai to atlasītu, un pēc tam logā Rekvizīti mainiet vairāku izvēles rekvizītu no 0-frmMultiSelectSingle uz 1-frmMultiSelectMulti.

Tagad, palaižot veidlapu, saraksta lodziņā varam atlasīt vairākas opcijas.

Ja mēs mainām iespēju būt 2-frmMultiSelectExtended, tas nozīmē, ka mēs varam izvēlēties vienu no vērtībām un pēc tam turot nospiestu taustiņu SHIFT, atlasiet citu vērtību tālāk sarakstā, un tiks atlasīti arī visi vienumi starp divām atlasītajām vērtībām.

VBA programmēšana | Kodu ģenerators strādā jūsu labā!

Darbs ar atlasītajām vērtībām VBA

Atkarībā no opcijas veida, ko esam izmantojuši rekvizītam Multi-Select saraksta lodziņā, ir vairāki veidi, kā mēs varam izmantot VBA koda saraksta lodziņā atlasīto vērtību vai vērtības.

Vērtības piešķiršana mainīgajam

Mēs varam izmantot After_Update saraksta lodziņa notikumu, lai piešķirtu mainīgajam atlasīto vērtību.

Pirmkārt, veidlapas moduļa augšpusē izveidosim moduļa līmeņa mainīgo.

Zem vārdiem, Skaidrs variants, izveidojiet šādu virknes mainīgo.

1 Aptumšojiet strState kā virkni.

Kad esam izveidojuši šo mainīgo, mēs varam veikt dubultklikšķi uz saraksta lodziņa, lai pārietu uz kodu aiz veidlapas, vai varam noklikšķināt uz koda pogas VBE redaktorā.

Saraksta lodziņa klikšķu notikums tiks izveidots automātiski. Izvēlieties After_Update Notikuma veidlapa pieejamo procedūru saraksts.

Notikumā After_Update ierakstiet šādu kodu:

123 Privāta apakšlisteState_AfterUpdate ()strState = Me.lstStateBeigu apakš

PIEZĪME. Klikšķa notikumu var izdzēst, jo tas nav nepieciešams.

Tagad, ja mēs palaidīsim veidlapu un noklikšķināsim uz saraksta lodziņa, atlasītā vērtība tiks saglabāta mainīgajā. Lai to pārbaudītu, mēs varam kodā ievietot BREAK punktu.

Tagad, palaižot veidlapu, noklikšķinot uz saraksta lodziņa, kods nonāks DEBUG režīmā un apstāsies mūsu pārtraukuma vietā. Ja pēc tam nospiežam tastatūras taustiņu F8, lai kodu pārvietotu soli tālāk, mainīgais tiks aizpildīts ar atlasīto vienumu sarakstā.

Mēs varam apskatīt šo vērtību, novietojot peli uz mainīgā.

VAI

Mēs varam apskatīt vērtību tūlītējā logā.

Vai esat noguris no VBA koda piemēru meklēšanas? Izmēģiniet AutoMacro!

Izmantojot komandu pogu, lai atgrieztu vērtību programmā Excel

Pirmkārt, mēs veidlapā izveidojam komandu pogu, lai poga Labi atgrieztu sarakstā esošās vērtības vai vērtības programmā Excel.

Atlasiet komandu pogas vadīklu un pēc tam noklikšķiniet uz formas un velciet to, lai izveidotu pogu.

Logā Rekvizīti mainiet pogas nosaukumu uz cmdOK, un nomainiet pogas parakstu un paātrinātāju.

Paātrinātāja mērķis ir lietotājs, lai šajā gadījumā izmantotu pogu, lai aktivizētu pogu Alt+O. aktivizētu pogu.

Lai komandu poga darbotos, mums aiz tās jāpievieno kods, lai, noklikšķinot uz pogas, kods darbotos. To sauc par pogas klikšķa notikumu.

Lai nokļūtu klikšķa notikumā, veidlapas noformējuma skatā veiciet dubultklikšķi uz pogas. Klikšķa notikums tiks automātiski izveidots, jo šis ir notikums, ko visbiežāk izmanto komandu pogām.

Komandas pogas klikšķa notikumā ierakstiet šādu kodu.

123 Privāts apakš cmdOK_Click ()Diapazons ("E1") = strStateBeigu apakš

Kods uzņems mainīgo, kuru mēs deklarējām ListBox notikumā After_Update, un atgriezīs vērtību diapazonā programmā Excel.

Alternatīvi, mēs varam paņemt vērtību tieši no saraksta lodziņa, neizmantojot mainīgo.

123 Privāts apakš cmdOK_Click ()Diapazons ("E1") = me.lstStateBeigu apakš

Kad mēs izpildām veidlapu, atlasītā vērtība tiks atgriezta programmā Excel, noklikšķinot uz pogas Labi.

Vairāku vērtību izvēle

Ja esam iestatījuši saraksta lodziņa vairāku atlases rekvizītu uz 1 vai 2, kas ļauj sarakstā atlasīt vairākas vērtības, tad šo vērtību atlases kods ir nedaudz atšķirīgs.

The After_Update notikums vairs netiek aktivizēts, atlasot vērtības saraksta lodziņā - tāpēc mēs nevaram izmantot šo notikumu.

Mēs joprojām varam izmantot komandu pogas klikšķa notikumu, taču mums ir jāatšķir saraksta lodziņā atlasītās vērtības, lai tās atgrieztu programmā Excel.

Komandas poga Noklikšķiniet uz notikuma, ierakstiet šādu kodu.

12345678910 Privāts apakš cmdOK_Click ()Dim x kā vesels skaitlisDiapazons ("E1"). IzvēlietiesX = 0 Man.lstState.ListCount - 1Ja Me.lstState.Selected (x) = True thenActiveCell = Me.lstState.List (x)ActiveCell. Offset (1, 0). AtlasietBeigas JaNākamais xBeigu apakš

Tagad, kad mēs izpildām veidlapu, Excel lapā tiks atgrieztas tikai atlasītās vērtības.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave