Как я могу увидеть, какой тип данных в моем макросе?


0

У меня есть следующий код, который не работает внутри макроса:

count = Application.Sheets.count
ans = type(count)
msgbox("count is " & ans)

но это не работает, потому что я думаю, что тип ищет значение ячейки, как я могу получить тип данных при использовании макроса? Есть ли другая функция, которая возвращает значение в макросе? Я гуглил это и не могу найти ответ.

Ответы:


1

Как вы упомянули, вы ищете функцию TypeName .

Лучше было бы использовать Option Explicit так, чтобы все переменные определялись по назначению.


Я использовал typename, чтобы получить фактические типы данных, чтобы я мог их измерить, а затем я могу использовать явную опцию для своей рутины. Спасибо за вашу помощь.
ДанМ

Но функция TypeName сообщает вам, что это за переменная, а не то, что лежат в основе данных. Если бы переменные были объявлены, то у них был бы тип. Во всяком случае, я не знаю, над чем вы работаете - возможно, вы просматриваете чужой код. Удачи!
Raystafarian

1
Как я могу сказать, что лежат в основе данных? разве это не то, что делает typename? и я работаю над своим собственным кодом, заставил его циклически перебирать листы менее чем за одну секунду против 2-3 секунд. должным образом затемняя их, он заставлял рутину работать быстрее.
ДанМ

Да, это то, что он делает. DOH. Но это становится привередливым в зависимости от типа переменной, если это не вариант.
Raystafarian

я думаю, что typename работает, как и ожидалось, так как он правильно определил все мои переменные (я не заботился о них, когда создавал макрос), а затем позволил мне их измерить. В общем, это ускорило мою рутинную работу на 2 секунды, и у меня в рабочей книге может быть до 130 оценочных листов. так что экономия времени - большой плюс. Спасибо за всю вашу помощь.
ДанМ

0

Ах, нашел это. Используйте typename(variable), где variableпеременная, тип которой должен быть возвращен.


Вы также можете использовать окно locals, если вы просматриваете свой код.
Кайл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.