Я только что получил много проблем и не могу найти решение. Я сделал довольно большой макрос, который использовался в течение нескольких лет в Excel 2003. Теперь мой друг обновился до офиса 2010 года, и внезапно макросы не работают так, как должны.Код Vba не работает должным образом в Excel 2010?
Я проследил одну ошибку до этой строки, которая, кажется, бросает десятичные знаки для переменной. Эта линия:
varHeight = ActiveSheet.Pictures("temp").Height
В Excel 2003 эта строка считывает высоту изображения под названием «Темп» и переменная «varHeight» получает значение 5,25.
Если я попробую то же самое в переменной Excel 2010, переменная varHeight получит значение 5. Итак, здесь десятичная метка отбрасывается. Я не понимаю, как это происходит.
Переменная varHeight объявляется этой линией:
Dim AntalMMPerPixel, IsoHöjd, varHeight As Double
Что мне делать в этих макрокомандах является то, что я строй плана, где использовать свои изображения для того чтобы построить план. Поэтому я использую высоту этой картинки, чтобы вычислить, где разместить остальные.
я использовал точку останова в коде, чтобы увидеть, какое значение присваивается переменной, как в Excel 2003 и Excel 2010.
Любые советы и идеи ценится?
С наилучшими пожеланиями
Что такое varHeight, объявленный как? –
Вам необходимо предоставить более подробную информацию. Как попросил justnS - какой тип переменной «varHeight»? Откуда вы знаете, что значение другое - т.е. что вы делаете с varHeight после получения высоты картины? –
FWIW: свойство '' Height'' возвращает Double. –