Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2011, 16:06   #1
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию совместимость макросов 2003 экселя с 2007 / 2010

привет всем!))

я знаю, что в экселе 2007 и 2010 есть новый функционал, который не поддерживается в 2003-м.

у меня ситуация обратная, работаю в 2003 экселе, но надо, чтоб еще макросы и в 2007 работали, и в 2010. а возможности каждый раз проверять нет..

подскажите пожалуйста, сталкивался кто-нибудь с функционалом 2003-ей версии, который не поддерживается в 2007 / 2010? или у них полная преемственность
Bape}l{ka вне форума Ответить с цитированием
Старый 25.08.2011, 16:13   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

filesearch не работает,
в сводных что-то поменяно,
...
аналитика вне форума Ответить с цитированием
Старый 25.08.2011, 18:04   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Не полная, увы...
Код работы с диаграммами немного отличается.
Автофигуры, создаваемые макросом в Excel 2003, в 2007-м создаются, но выглядят иначе (из-за новых настроек по-умолчанию)

В остальном отличий не заметил. Все мои макросы из Excel 2003 нормально работают в Excel 2007 и 2010

Ну и ещё - не пользуйтесь в 2007-м записью cells.count применимо к целому листу - она вызовет ошибку из-за переполнения (в 2003-м ячеек на листе было меньше, так что переполнения не возникало)
EducatedFool вне форума Ответить с цитированием
Старый 26.08.2011, 10:22   #4
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

спасибо всем, вроде таких функций я не использую особо.. только вот с Cells.Count надо будет разобраться

если кто что еще вспомнит, пишите.. в любом случае тема, думаю, полезная
Bape}l{ka вне форума Ответить с цитированием
Старый 29.08.2011, 14:00   #5
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

у меня в 2007 не работает Trim, хотя в 2003 все норм

вот функция, честно позаимстваванная у AducatedFool:
Код:
Function UniqueValuesFormRange(ByVal ra As Range) As Collection
   'для НЕСМЕЖНЫХ ДИАПАЗОНОВ
   ' функция получает в качестве параметра диапазон ячеек
   ' возвращает коллекцию уникальных НЕПУСТЫХ значений
   Set UniqueValuesFormRange = New Collection: On Error Resume Next
    Dim ar As Range
    For Each ar In ra.Areas
        For Each v In ar.Value
            v = Trim(v): If Len(v) Then UniqueValuesFormRange.Add CStr(v), CStr(v)
        Next v
    Next ar
End Function
'
Sub ПримерИспользования_UniqueValuesFormRange()
    For Each v In AddInGeneral.Functions.UniqueValuesFormRange(Selection)
        MsgBox v
    Next
End Sub
подскажите, на что можно заменить равноценно ее, чтоб и в 2003 и в 2007 работало?
Bape}l{ka вне форума Ответить с цитированием
Старый 29.08.2011, 14:04   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Странно, должно работать.
Может быть опять библиотек не хватает? Т.е. отмечены ненужные и отсутствующие?
Посмотрите, что там в references делается.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 29.08.2011, 14:33   #7
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

а как посмотреть, что делается в references ??
но вобщем-то да ,пишет, что не найдена библиотека.. что это означает? я думала, что такое выдает, когда ты процедуру вызываешь, а он ее определить не может
Bape}l{ka вне форума Ответить с цитированием
Старый 29.08.2011, 14:41   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

В редакторе VBA->Tools->References, там убираете галки у MISSING или налаживаете эти библиотеки (меняете на существующие или достаёте недостающие).
Я обычно убирал галки, т.к. какой-нить outlook мне не нужен.
Такое бывает, если на машине, где писался макрос, в проекте использовались библиотеки, которых нет на другой машине. Причём "использовались" возможно в прошедшем времени - а ссылки остались.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 29.08.2011 в 14:44.
Hugo121 вне форума Ответить с цитированием
Старый 29.08.2011, 15:31   #9
Bape}l{ka
Форумчанин
 
Аватар для Bape}l{ka
 
Регистрация: 25.05.2011
Сообщений: 249
По умолчанию

ааа, я поняла, в чем дело))) пасиба большое
Bape}l{ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не совместимость 2007 c 2003 armagedon_atyrau Microsoft Office Excel 0 21.09.2010 13:48
Совместимость Екселя 2003 и 2007 jerko Microsoft Office Excel 8 17.09.2010 13:48
Совместимость Excel 2003 и 2007 1134 Microsoft Office Excel 9 19.07.2010 14:08
Совместимость 2003 и 2007 chandrasecar Microsoft Office Excel 1 12.07.2010 23:01
Совместимость макросов из exel 2003 с 2007 palleot Microsoft Office Excel 1 30.06.2009 15:38