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

Вход

Регистрация

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

 

= Мир MS Excel/Книга не видит макросы в модуле листа - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вопросы по Excel для Mac » Книга не видит макросы в модуле листа (Макросы/Sub)
Книга не видит макросы в модуле листа
Manyasha Дата: Вторник, 26.04.2016, 23:29 | Сообщение № 1
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 661 ±
Замечаний: 0% ±

Excel 2007, 2010
Всем привет!

У меня опять проблема с Mac'oм, которого у меня нет :D
Написала простенький макрос для события Worksheet_Change. Макрос должен добавлять новую строку, если пользователь заполняет последнюю строку по проекту (над строкой Итого).
У меня все работает, на mace ничего не добавляется.
Цитата
Office 2011 Mac вроде как

Написала[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "1"
End Sub
[/vba]тоже ничего.
Обработка событий включена.
Подскажите, пожалуйста, в чем может быть проблема? С учетом того, что файл будет сохраняться и на винде и на маке, возможно ли что-то придумать или лучше обходиться одними формулами?

Кстати, раньше в этом же модуле листа был еще один макрос на кнопке, тоже не запускался. Вот что показывал (переназначение макроса не помогло):

Проблему решила переносом макроса в обычный модуль.
К сообщению приложен файл: 0786098.png(23Kb) · 20160426-.xlsm(24Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеВсем привет!

У меня опять проблема с Mac'oм, которого у меня нет :D
Написала простенький макрос для события Worksheet_Change. Макрос должен добавлять новую строку, если пользователь заполняет последнюю строку по проекту (над строкой Итого).
У меня все работает, на mace ничего не добавляется.
Цитата
Office 2011 Mac вроде как

Написала[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "1"
End Sub
[/vba]тоже ничего.
Обработка событий включена.
Подскажите, пожалуйста, в чем может быть проблема? С учетом того, что файл будет сохраняться и на винде и на маке, возможно ли что-то придумать или лучше обходиться одними формулами?

Кстати, раньше в этом же модуле листа был еще один макрос на кнопке, тоже не запускался. Вот что показывал (переназначение макроса не помогло):

Проблему решила переносом макроса в обычный модуль.

Автор - Manyasha
Дата добавления - 26.04.2016 в 23:29
_Boroda_ Дата: Вторник, 26.04.2016, 23:36 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Марин, Мак не работает с макросами в модуле листа.
Сам не пробовал, но слышал где-то.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМарин, Мак не работает с макросами в модуле листа.
Сам не пробовал, но слышал где-то.

Автор - _Boroda_
Дата добавления - 26.04.2016 в 23:36
Pelena Дата: Вторник, 26.04.2016, 23:47 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Не совсем так. В модуле листа работают макросы, относящиеся непосредственно к событиям листа
Worksheet_Change должен работать. Файл чуть позже посмотрю.

А вот то, что
файл будет сохраняться и на винде и на маке

грозит тем, что ни там, ни там нормально работать не будет :(


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНе совсем так. В модуле листа работают макросы, относящиеся непосредственно к событиям листа
Worksheet_Change должен работать. Файл чуть позже посмотрю.

А вот то, что
файл будет сохраняться и на винде и на маке

грозит тем, что ни там, ни там нормально работать не будет :(

Автор - Pelena
Дата добавления - 26.04.2016 в 23:47
Manyasha Дата: Вторник, 26.04.2016, 23:54 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 661 ±
Замечаний: 0% ±

Excel 2007, 2010
Ага, понятно. Жалко конечно, но хотя бы я теперь знаю, что нужно что-то другое придумывать.
Саша, Лена, спасибо большое!


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеАга, понятно. Жалко конечно, но хотя бы я теперь знаю, что нужно что-то другое придумывать.
Саша, Лена, спасибо большое!

Автор - Manyasha
Дата добавления - 26.04.2016 в 23:54
_Boroda_ Дата: Среда, 27.04.2016, 00:09 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
В модуле листа работают макросы, относящиеся непосредственно к событиям листа

Я как раз это и имел в виду. В смысле макрос - это макрос, а обработчик событий - это не просто макрос, а обработчик. :D
Марин, а если сам макрос tt положить в обычный модуль, а в модуле листа написать на него ссылку - что-то типа
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Module1.tt
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
В модуле листа работают макросы, относящиеся непосредственно к событиям листа

Я как раз это и имел в виду. В смысле макрос - это макрос, а обработчик событий - это не просто макрос, а обработчик. :D
Марин, а если сам макрос tt положить в обычный модуль, а в модуле листа написать на него ссылку - что-то типа
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Module1.tt
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 27.04.2016 в 00:09
Pelena Дата: Среда, 27.04.2016, 07:58 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
[offtop]
макрос - это макрос, а обработчик событий - это не просто макрос, а обработчик
Вот это завернул :) [/offtop]
По теме:
создала новую книгу на Маке
скопировала туда листы из примера
скопировала текст макроса в модуль листа (именно текст)
На Маке всё работает, зато на win - нет, собственно, что и ожидалось :(
Исковеркались названия листов
Хотя, если в тексте макроса восстановить правильно слово Итого, то заработает, потому что коверкаются только заглавные буквы

Оригинальный файл так и не удалось запустить на Маке.
К сообщению приложен файл: Manyasha-1-.xlsm(40Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение[offtop]
макрос - это макрос, а обработчик событий - это не просто макрос, а обработчик
Вот это завернул :) [/offtop]
По теме:
создала новую книгу на Маке
скопировала туда листы из примера
скопировала текст макроса в модуль листа (именно текст)
На Маке всё работает, зато на win - нет, собственно, что и ожидалось :(
Исковеркались названия листов
Хотя, если в тексте макроса восстановить правильно слово Итого, то заработает, потому что коверкаются только заглавные буквы

Оригинальный файл так и не удалось запустить на Маке.

Автор - Pelena
Дата добавления - 27.04.2016 в 07:58
_Boroda_ Дата: Среда, 27.04.2016, 09:18 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Хотя, если в тексте макроса восстановить правильно слово Итого, то заработает, потому что коверкаются только заглавные буквы

Лен, а они коверкаются вообще всегда или только при копи-пасте?
Кстати, а если вот так написать?
[vba]
Код
If Target.Value <> "" And Target.Offset(1) = Chr(200) & "того:" Then
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Хотя, если в тексте макроса восстановить правильно слово Итого, то заработает, потому что коверкаются только заглавные буквы

Лен, а они коверкаются вообще всегда или только при копи-пасте?
Кстати, а если вот так написать?
[vba]
Код
If Target.Value <> "" And Target.Offset(1) = Chr(200) & "того:" Then
[/vba]

Автор - _Boroda_
Дата добавления - 27.04.2016 в 09:18
Pelena Дата: Среда, 27.04.2016, 09:28 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Они коверкаются при сохранении файла.
Посмотри на имя листа в редакторе VBA


С кодами символов вообще связываться не стоит, потому что кодировка разная. Как-то на Планете обсуждалась тема кодировки, я там выложила кодовую таблицу Мака.

Можно попробовать просто не использовать заглавные русские буквы. В идеале вообще не использовать кириллицу
К сообщению приложен файл: 1681509.jpg(24Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеОни коверкаются при сохранении файла.
Посмотри на имя листа в редакторе VBA


С кодами символов вообще связываться не стоит, потому что кодировка разная. Как-то на Планете обсуждалась тема кодировки, я там выложила кодовую таблицу Мака.

Можно попробовать просто не использовать заглавные русские буквы. В идеале вообще не использовать кириллицу

Автор - Pelena
Дата добавления - 27.04.2016 в 09:28
_Boroda_ Дата: Среда, 27.04.2016, 10:05 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 9348
Репутация: 3923 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Какая прелесть!
А Юникод тоже через ...?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКакая прелесть!
А Юникод тоже через ...?

Автор - _Boroda_
Дата добавления - 27.04.2016 в 10:05
Manyasha Дата: Среда, 27.04.2016, 11:21 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 1586
Репутация: 661 ±
Замечаний: 0% ±

Excel 2007, 2010
макрос tt положить в обычный модуль, а в модуле листа написать на него ссылку
не помогло

Переименовала листы (codeName) с макросами на англ. и заменила все заглавные русские буквы.
Все работает! Ура!!! :hands:

Спасибо большущее за помощь! :)
UPD
выкладываю поправленный файл. Там мало что изменилось, но пусть лежит, как пример решения
К сообщению приложен файл: 20160427-corr.xlsm(24Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804


Сообщение отредактировал Manyasha - Среда, 27.04.2016, 11:32
 
Ответить
Сообщение
макрос tt положить в обычный модуль, а в модуле листа написать на него ссылку
не помогло

Переименовала листы (codeName) с макросами на англ. и заменила все заглавные русские буквы.
Все работает! Ура!!! :hands:

Спасибо большущее за помощь! :)
UPD
выкладываю поправленный файл. Там мало что изменилось, но пусть лежит, как пример решения

Автор - Manyasha
Дата добавления - 27.04.2016 в 11:21
Pelena Дата: Среда, 27.04.2016, 13:59 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 9846
Репутация: 2253 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
А Юникод

Если ты имеешь в виду функцию UNICODE(), то таки да, она возвращает одинаковые значения что для Win, что для iOS, от 1040 (А) до 1103 (я), ну и буквы Ёё выпадают из общей последовательности


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
А Юникод

Если ты имеешь в виду функцию UNICODE(), то таки да, она возвращает одинаковые значения что для Win, что для iOS, от 1040 (А) до 1103 (я), ну и буквы Ёё выпадают из общей последовательности

Автор - Pelena
Дата добавления - 27.04.2016 в 13:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Вопросы по Excel для Mac » Книга не видит макросы в модуле листа (Макросы/Sub)
Страница 1 из 11
Поиск:

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