Naziv tipa VBA

Ovaj članak će demonstrirati uporabu VBA funkcije ImeNaziv.

VBA ImeNaziv Funkcija se koristi za određivanje vrste podataka pohranjenih u ćeliji ili vrste odabranog objekta - na primjer radnog lista, raspona ili ćelije ili kontrole na obrascu.

Određivanje vrste podataka u ćeliji

Za određivanje je li tip podataka u ćeliji možemo koristiti funkciju TypeName sa svojstvom Cells.

123 Pod TestCellDataType ()MsgBox "Vrsta podataka u" & ćelijama (3, 2). Adresa & "je" & Ime tipa (ćelije (3, 2). Vrijednost)Kraj podm

Ako pokrenemo ovaj kôd s radnim listom u nastavku, okvir s porukom će nam reći koja je vrsta podataka u ćeliji.

Određivanje vrste odabranog objekta

Također možemo koristiti TypeName za određivanje vrste objekta koji je odabran na radnom listu - raspon ili grafikon, na primjer.

123 Sub TestSelection ()MsgBox "Odabrali ste" & Naziv vrste (odabir)Kraj podm

Ili, ako odaberemo grafikon:

Možemo još detaljnije istražiti i odabrati objekte unutar grafikona, a makro će vratiti ono što smo odabrali.

Sve ovo može biti najkorisnije u izgradnji našeg VBA projekta za kontrolu protoka koda ili za sprječavanje grešaka testiranjem kako bi se osiguralo da je odabrana ispravna vrsta objekta ili da se ispravna vrsta podataka unese u ćeliju .

Korištenje TypeName za kontrole obrazaca

VBA nam omogućuje stvaranje interaktivnih obrazaca koje korisnik može ispuniti i vratiti podatke u kôd koji će se koristiti na različite načine. Operator TypeName možemo koristiti za određivanje vrste kontrola koje se koriste na obrascu.

U donjem primjeru stvorio sam korisnički obrazac s raznim kontrolama - nekoliko tekstualnih okvira, kombinirani okvir, 2 gumba s opcijama, 2 potvrdna okvira i 3 naredbena gumba.

Koristeći donji kôd, mogu odrediti koja je vrsta kontrola na obrascu prolaskom kroz sve kontrole na obrascu. Koristio sam funkciju TypeName za vraćanje poruke s vrstom kontrole s VBA IF izjavom za provjeru vrste kontrole koja je odabrana.

123456 Pod WhatControlType ()Priguši ctl kao objektZa svaki ctl u meni.KontroleMsgBox "Kontrola je" & Ime tipa (ctl)Sljedeća ctlKraj podm

Ova vrsta koda može biti vrlo korisna ako želimo omogućiti ili onemogućiti kontrole. U donjem kodu, kada se obrazac prvi put otvori, gumbi s opcijama i potvrdni okviri onemogućeni su.

123456789101112 Privatni pomoćni korisnički obrazac_Initialize ()Priguši ctl kao objektZa svaki ctl u meni.KontroleAko TypeName (ctl) = "CheckBox" Zatimctl.Enabled = NetačnoElseIf TypeName (ctl) = "OptionButton" Zatimctl.Enabled = NetačnoDrugoctl.Enabled = IstinaZavrši akoSljedeća ctlKraj podm

Da bih omogućio gumbe s opcijama i potvrdne okvire, napisao sam dodatni kôd iza gumba Omogući kontrole.

12345678910 Privatna pod cmdEnable_Click ()Priguši ctl kao objektZa svaki ctl u meni.KontroleAko TypeName (ctl) = "CheckBox" Zatimctl.Enabled = Nije ctl.EnabledElseIf TypeName (ctl) = "OptionButton" Zatimctl.Enabled = Nije ctl.EnabledZavrši akoSljedeća ctlKraj podm

Funkcionalnost u ovom kodu također se može stvoriti pomoću operatora VBA TypeOf.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave