ВБА ТипНаме

Овај чланак ће демонстрирати употребу функције ВБА ТипеНаме.

ВБА ТипеНаме Функција се користи за одређивање врсте података ускладиштених у ћелији или типа изабраног објекта - на пример радног листа, опсега или ћелије или контроле на обрасцу.

Одређивање типа података у ћелији

Да бисмо утврдили који је тип података у ћелији, можемо користити функцију ТипеНаме са својством ћелије.

123 Под ТестЦеллДатаТипе ()МсгБок "Тип података у" & ћелијама (3, 2). Адреса & "је" & Име типа (ћелије (3, 2). Вредност)Енд Суб

Ако покренемо овај горњи код са радним листом испод, оквир за поруку ће нам рећи која је врста података у ћелији.

Одређивање врсте изабраног објекта

Такође можемо користити ТипеНаме да одредимо који тип објекта је изабран на радном листу - опсег или графикон на пример.

123 Суб ТестСелецтион ()МсгБок "Изабрали сте" & Име типа (избор)Енд Суб

Или, ако изаберемо графикон:

Можемо још детаљније анализирати и изабрати објекте унутар графикона, а макро ће вратити оно што смо одабрали.

Све ово може бити најкорисније у изградњи нашег ВБА пројекта за контролу протока кода или за спречавање грешака тестирањем како би се осигурало да се изабере исправна врста објекта или да се тачна врста података унесе у ћелију .

Коришћење ТипеНаме за контроле образаца

ВБА нам омогућава креирање интерактивних образаца које корисник може попунити и вратити податке у код који ће се користити на различите начине. Оператор ТипеНаме можемо користити за одређивање врсте контрола које се користе на обрасцу.

У доњем примеру створио сам кориснички образац са различитим контролама - неколико текстуалних оквира, комбиновано поље, 2 дугмета са опцијама, 2 поља за потврду и 3 командна дугмета.

Користећи доњи код, могу одредити која је врста контрола на обрасцу проласком кроз све контроле на обрасцу. Користио сам функцију ТипеНаме да вратим поруку са типом контроле са ВБА ИФ изјавом да проверим који тип контроле је изабран.

123456 Суб ВхатЦонтролТипе ()Дим цтл Ас ОбјецтЗа сваки цтл у мени.КонтролеМсгБок "Контрола је" & Име типа (цтл)Нект цтлЕнд Суб

Ова врста кода може бити веома корисна ако желимо да омогућимо или онемогућимо контроле. У доњем коду, приликом првог отварања обрасца, тастери са опцијама и поља за потврду су онемогућени.

123456789101112 Привате Суб УсерФорм_Инитиализе ()Дим цтл Ас ОбјецтЗа сваки цтл у мени.КонтролеАко је ТипеНаме (цтл) = "ЦхецкБок" Затимцтл.Енаблед = НетачноЕлсеИф ТипеНаме (цтл) = "ОптионБуттон" Затимцтл.Енаблед = НетачноИначецтл.Енаблед = ТачноКрај АкоНект цтлЕнд Суб

Да бих омогућио дугмад са опцијама и поља за потврду, написао сам још неки код иза дугмета Омогући контроле.

12345678910 Привате Суб цмдЕнабле_Цлицк ()Дим цтл Ас ОбјецтЗа сваки цтл у мени.КонтролеАко је ТипеНаме (цтл) = "ЦхецкБок" Затимцтл.Енаблед = Није цтл.ЕнабледЕлсеИф ТипеНаме (цтл) = "ОптионБуттон" Затимцтл.Енаблед = Није цтл.ЕнабледКрај АкоНект цтлЕнд Суб

Функционалност у овом коду се такође може креирати помоћу ВБА ТипеОф Оператора.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave