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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Книга не видит макросы в модуле листа
Manyasha Дата: Вторник, 26.04.2016, 23:29 | Сообщение № 1
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

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

У меня опять проблема с 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 (22.7 Kb) · 20160426-.xlsm (24.1 Kb)


ЯД: 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
Группа: Админы
Ранг: Местный житель
Сообщений: 16709
Репутация: 6501 ±
Замечаний: ±

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
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация: 4549 ±
Замечаний: ±

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

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

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


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

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

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

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

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


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

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

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
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация: 4549 ±
Замечаний: ±

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

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


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

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

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

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
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация: 4549 ±
Замечаний: ±

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


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

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


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


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

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

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

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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 901 ±
Замечаний: 0% ±

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

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

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


ЯД: 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
Группа: Админы
Ранг: Местный житель
Сообщений: 19401
Репутация: 4549 ±
Замечаний: ±

Excel 365 & Mac Excel
А Юникод

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


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

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

Автор - Pelena
Дата добавления - 27.04.2016 в 13:59
  • Страница 1 из 1
  • 1
Поиск:

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