VBA Excel 2007 макрос умирает в Excel 2002
Я только что попытался отправить рабочую книгу другу, у которого есть таблица с раскрывающимся списком. В Excel 2007 я использовал:
If Chart2.Shapes(2).ControlFormat.ListCount = "16" Then
Чтобы проверить размер списка, чтобы он не вводился снова (в результате получается очень длинный список, который повторяется). Эта строка хорошо работает в Excel 2007, но дает Object doesn't support this property or method.
ошибка в Excel 2002.
В чем разница между работой с фигурами в 2002 и 2007 годах?
2 ответа
Хорошо, это закончилось тем, что мне понадобилось много времени, чтобы понять.
Excel 2007 считает формы по-другому, чем в 2002 году. Форма, на которую я пытался ссылаться в 2007 году (2)
было сейчас (1)
в 2002.
Итак, конечный результат был, конечно,
If Chart2.Shapes(1).ControlFormat.ListCount = "16" Then
Разница в том, что вы не можете использовать блестящие новые методы и коллекции, представленные за эти годы. К сожалению, MSDN не очень поможет вам в этой области. Лучше всего как-нибудь подобрать соответствующий файл справки и прочитать документацию для нужной версии. Вы можете найти все файлы справки 2002 года здесь.
Проблема, с которой вы сталкиваетесь, заключается в том, что свойство ListCount доступно только для чтения в 2002 году.