Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макросы в разных версиях Office - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросы в разных версиях Office
Макросы в разных версиях Office
iilfat Дата: Вторник, 28.07.2015, 17:59 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Такой вопрос: может ли макрос при выполнении выдавать ошибку из-за того, что он был написан на 2013ом офисе, а запускается в 2010ом?

И вообще, на одном компьютере всё идеально, а на другом ошибку выводит.
 
Ответить
СообщениеТакой вопрос: может ли макрос при выполнении выдавать ошибку из-за того, что он был написан на 2013ом офисе, а запускается в 2010ом?

И вообще, на одном компьютере всё идеально, а на другом ошибку выводит.

Автор - iilfat
Дата добавления - 28.07.2015 в 17:59
Rioran Дата: Вторник, 28.07.2015, 18:18 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
iilfat, здравствуйте.

может ли макрос при выполнении выдавать ошибку из-за того, что он был написан на 2013ом офисе, а запускается в 2010ом?

Да, такое возможно. Например, если Вы работаете с макро-рекодером и проводите действия с рядами на графиках - в 2013-й версии запись пройдёт через объект FullSeriesCollection, а в более ранних - через SeriesCollection. Конкретных случаев может быть масса. Если Вы хотели бы, чтобы рассмотрели Ваш - нужно:

1). Указать текст ошибки.
2). Указать строку, которая данной ошибкой подсвечивается при выполнении кода (после нажатия "debug").
3). Приложить к сообщению демонстрационную версию файла с кодом макроса.
4). Указать, чем код в общих чертах занимается.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеiilfat, здравствуйте.

может ли макрос при выполнении выдавать ошибку из-за того, что он был написан на 2013ом офисе, а запускается в 2010ом?

Да, такое возможно. Например, если Вы работаете с макро-рекодером и проводите действия с рядами на графиках - в 2013-й версии запись пройдёт через объект FullSeriesCollection, а в более ранних - через SeriesCollection. Конкретных случаев может быть масса. Если Вы хотели бы, чтобы рассмотрели Ваш - нужно:

1). Указать текст ошибки.
2). Указать строку, которая данной ошибкой подсвечивается при выполнении кода (после нажатия "debug").
3). Приложить к сообщению демонстрационную версию файла с кодом макроса.
4). Указать, чем код в общих чертах занимается.

Автор - Rioran
Дата добавления - 28.07.2015 в 18:18
iilfat Дата: Вторник, 28.07.2015, 20:28 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Rioran, к сожалению, сейчас я только на Excel 2013. Текст ошибки смогу показать только завтра. Но ошибка точно в этой области кода:
[vba]
Код
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
           "SAP2!C1:C21", Version:=xlPivotTableVersion15).CreatePivotTable _
           TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
           DefaultVersion:=xlPivotTableVersion15
[/vba]
В общих чертах: код создаёт сводную таблицу.


Сообщение отредактировал iilfat - Вторник, 28.07.2015, 20:28
 
Ответить
СообщениеRioran, к сожалению, сейчас я только на Excel 2013. Текст ошибки смогу показать только завтра. Но ошибка точно в этой области кода:
[vba]
Код
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
           "SAP2!C1:C21", Version:=xlPivotTableVersion15).CreatePivotTable _
           TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
           DefaultVersion:=xlPivotTableVersion15
[/vba]
В общих чертах: код создаёт сводную таблицу.

Автор - iilfat
Дата добавления - 28.07.2015 в 20:28
iilfat Дата: Вторник, 28.07.2015, 20:31 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Я ведь правильно понимаю, что тут логика следующая? =>
То, что сделано на 2013 может не работать на 2010, а то, что сделано на 2010 точно будет работать на 2013?
 
Ответить
СообщениеЯ ведь правильно понимаю, что тут логика следующая? =>
То, что сделано на 2013 может не работать на 2010, а то, что сделано на 2010 точно будет работать на 2013?

Автор - iilfat
Дата добавления - 28.07.2015 в 20:31
Udik Дата: Вторник, 28.07.2015, 20:38 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
в 2003 вроде нет Pivot Table, есть однако


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Вторник, 28.07.2015, 20:41
 
Ответить
Сообщениев 2003 вроде нет Pivot Table, есть однако

Автор - Udik
Дата добавления - 28.07.2015 в 20:38
Manyasha Дата: Вторник, 28.07.2015, 21:12 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Для разных версия экселя подключаются разные библиотеки: для 2010-го 14-й версии, для 2013 - 15-й.
Вот так должно работать и там и там:
[vba]
Код
    Dim xl As Object
     Dim Excel_version As String
     Set xl = CreateObject("Excel.Application")
     Excel_version = xl.Application.Version
     If Excel_version = "15.0" Then
         ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                 "SAP2!C1:C21", Version:=xlPivotTableVersion15).CreatePivotTable _
                 TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
                 DefaultVersion:=xlPivotTableVersion15
     ElseIf Excel_version = "14.0" Then
         ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                 "SAP2!C1:C21", Version:=xlPivotTableVersion14).CreatePivotTable _
                 TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
                 DefaultVersion:=xlPivotTableVersion14
     End If
     Set xl = Nothing
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеДля разных версия экселя подключаются разные библиотеки: для 2010-го 14-й версии, для 2013 - 15-й.
Вот так должно работать и там и там:
[vba]
Код
    Dim xl As Object
     Dim Excel_version As String
     Set xl = CreateObject("Excel.Application")
     Excel_version = xl.Application.Version
     If Excel_version = "15.0" Then
         ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                 "SAP2!C1:C21", Version:=xlPivotTableVersion15).CreatePivotTable _
                 TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
                 DefaultVersion:=xlPivotTableVersion15
     ElseIf Excel_version = "14.0" Then
         ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
                 "SAP2!C1:C21", Version:=xlPivotTableVersion14).CreatePivotTable _
                 TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
                 DefaultVersion:=xlPivotTableVersion14
     End If
     Set xl = Nothing
[/vba]

Автор - Manyasha
Дата добавления - 28.07.2015 в 21:12
KSV Дата: Вторник, 28.07.2015, 23:13 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Марин, а почему не так?[vba]
Код
    Dim xlPivotTableVersion As Long
     Select Case Application.Version
         Case "15.0": xlPivotTableVersion = 5
         Case "14.0": xlPivotTableVersion = 4
     End Select
     ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
             "SAP2!C1:C21", Version:=xlPivotTableVersion).CreatePivotTable _
             TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
             DefaultVersion:=xlPivotTableVersion
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеМарин, а почему не так?[vba]
Код
    Dim xlPivotTableVersion As Long
     Select Case Application.Version
         Case "15.0": xlPivotTableVersion = 5
         Case "14.0": xlPivotTableVersion = 4
     End Select
     ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
             "SAP2!C1:C21", Version:=xlPivotTableVersion).CreatePivotTable _
             TableDestination:="Sample!R1C1", TableName:="СводнаяТаблица1", _
             DefaultVersion:=xlPivotTableVersion
[/vba]

Автор - KSV
Дата добавления - 28.07.2015 в 23:13
iilfat Дата: Среда, 29.07.2015, 09:51 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Manyasha, KSV, спасибо огромное. Приеду на работу, испытаю.
 
Ответить
СообщениеManyasha, KSV, спасибо огромное. Приеду на работу, испытаю.

Автор - iilfat
Дата добавления - 29.07.2015 в 09:51
Rioran Дата: Среда, 29.07.2015, 10:08 | Сообщение № 9
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
То, что сделано на 2013 может не работать на 2010, а то, что сделано на 2010 точно будет работать на 2013?

Да, всё верно. Это политика совместимости от Microsoft, когда старые компоненты программы ещё не умеют работать с новыми, но новые компоненты уже умеют работать со старыми. Частично этот вопрос затрагивается в теоретической статье про "Раннее и позднее связывание".


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Среда, 29.07.2015, 10:09
 
Ответить
Сообщение
То, что сделано на 2013 может не работать на 2010, а то, что сделано на 2010 точно будет работать на 2013?

Да, всё верно. Это политика совместимости от Microsoft, когда старые компоненты программы ещё не умеют работать с новыми, но новые компоненты уже умеют работать со старыми. Частично этот вопрос затрагивается в теоретической статье про "Раннее и позднее связывание".

Автор - Rioran
Дата добавления - 29.07.2015 в 10:08
iilfat Дата: Среда, 29.07.2015, 11:32 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Всем огромное спасибо.
Код сработал на 2010-ом :)
Очень рад :)
 
Ответить
СообщениеВсем огромное спасибо.
Код сработал на 2010-ом :)
Очень рад :)

Автор - iilfat
Дата добавления - 29.07.2015 в 11:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросы в разных версиях Office
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!