VBA tüübi nimi

See artikkel näitab funktsiooni VBA TypeName funktsiooni kasutamist.

VBA TypeName Funktsiooni kasutatakse lahtrisse salvestatud andmete tüübi või valitud objekti tüübi - näiteks töölehe, vahemiku või lahtri või vormi juhtelemendi - määramiseks.

Andmetüübi määramine lahtris

Lahtris andmetüübi määramiseks saame kasutada funktsiooni TypeName koos atribuutidega Cells.

123 Sub TestCellDataType ()MsgBox "Andmete tüüp lahtrites" & Cells (3, 2). Aadress & "on" & TypeName (Lahtrid (3, 2) .Väärtus)End Sub

Kui käivitame selle koodi ülaltoodud töölehega, ütleb sõnumikast meile, millist tüüpi andmed lahtris on.

Valitud objekti tüübi määramine

Tüübi Nimi abil saame määrata ka seda, millist tüüpi objekt on töölehel valitud - näiteks vahemik või diagramm.

123 Alamkatse valik ()MsgBox "Olete valinud" & TypeName (valik)End Sub

Või kui valime diagrammi:

Saame veelgi süveneda ja valida diagrammi objektid ning makro tagastab selle, mille oleme valinud.

Kõik see võib olla kõige kasulikum meie VBA projekti ülesehitamisel, et kas kontrollida koodi voogu või vältida vigade ilmnemist, testides, et tagada õige objekti tüübi valimine või sisestada lahtrisse õiget tüüpi andmeid .

TypeName kasutamine vormi juhtelementides

VBA võimaldab meil luua interaktiivseid vorme, mida kasutaja saab täita ja tagastada andmed kasutatavale koodile mitmel viisil. Vormil kasutatavate juhtelementide tüübi määramiseks saame kasutada operaatorit TypeName.

Allolevas näites olen loonud kasutajavormi, millel on mitmesugused juhtnupud - paar tekstikasti, liitkast, 2 valikunuppu, 2 märkeruutu ja 3 käsunuppu.

Kasutades allolevat koodi, saan kindlaks teha, millist tüüpi juhtelemendid vormil on, lugedes läbi kõik vormi juhtelemendid. Olen kasutanud funktsiooni TypeName, et saata sõnum koos juhtelemendi tüübiga koos VBA IF avaldusega, et kontrollida, mis tüüpi juhtelement on valitud.

123456 Sub WhatControlType ()Dim ctl kui objektIga ctl In Me.Controls jaoksMsgBox "Juhtelement on" & TypeName (ctl)Järgmine ctlEnd Sub

Seda tüüpi kood võib olla väga kasulik, kui soovime juhtelemente lubada või keelata. Allolevas koodis on vormi esmakordsel avamisel valikunupud ja märkeruudud keelatud.

123456789101112 Privaatne alamkasutajaForm_Initialize ()Dim ctl kui objektIga ctl In Me.Controls jaoksKui TypeName (ctl) = "CheckBox" Siisctl.Enabled = ValeElseIf TypeName (ctl) = "OptionButton" Siisctl.Enabled = ValeMuiductl.Enabled = TõsiLõpp KuiJärgmine ctlEnd Sub

Valikunuppude ja märkeruutude lubamiseks olen kirjutanud nupu Luba juhtimine taha veel mõne koodi.

12345678910 Privaatne alam cmdEnable_Click ()Dim ctl kui objektIga ctl In Me.Controls jaoksKui TypeName (ctl) = "CheckBox" Siisctl.Enabled = Pole ctl.LubatudElseIf TypeName (ctl) = "OptionButton" Siisctl.Enabled = Pole ctl.LubatudLõpp KuiJärgmine ctlEnd Sub

Selle koodi funktsionaalsust saab luua ka VBA TypeOf operaatori abil.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave