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

Вход

Регистрация

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

 

= Мир MS Excel/Вызов функции макроса из личной книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вызов функции макроса из личной книги (Макросы Sub)
Вызов функции макроса из личной книги
Vlad250 Дата: Воскресенье, 05.01.2014, 23:59 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
После сохранение макроса в личной книге макросов, функция translit не работает в других документах, необходимо копировать модуль в эти книги


сам макрос:

[vba]
Код
Function Translit(ByVal txt As String) As String
iRussian$ = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
iTranslit = Array("", "a", "b", "v", "g", "d", "e", "yo", "jh", "z", "i", "y", "k", _
"l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "z", "ch", _
"sh", "shz", "`", "i", "'", "e", "yu", "ya")
For iCount% = 1 To 33
txt = Replace(txt, Mid(iRussian$, iCount%, 1), iTranslit(iCount%), , , vbTextCompare)
Next
Translit$ = txt
End Function

Sub ПримерИспользованияФункцииTranslit()
txt = "проверка работы транслита"
newtxt = Translit(txt) ' результат = строка "proverka rabot'y translita"
MsgBox "Строка """ & txt & """" & vbNewLine & "преобразована в строку """ _
& newtxt & """", vbInformation, "Результат обработки"
End Sub
[/vba]

Можно ли сделать, чтобы функция translit работала во всех вновь открытых файлах? Нигде не смог найти решение


Сообщение отредактировал Serge_007 - Понедельник, 06.01.2014, 00:02
 
Ответить
СообщениеПосле сохранение макроса в личной книге макросов, функция translit не работает в других документах, необходимо копировать модуль в эти книги


сам макрос:

[vba]
Код
Function Translit(ByVal txt As String) As String
iRussian$ = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
iTranslit = Array("", "a", "b", "v", "g", "d", "e", "yo", "jh", "z", "i", "y", "k", _
"l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", "z", "ch", _
"sh", "shz", "`", "i", "'", "e", "yu", "ya")
For iCount% = 1 To 33
txt = Replace(txt, Mid(iRussian$, iCount%, 1), iTranslit(iCount%), , , vbTextCompare)
Next
Translit$ = txt
End Function

Sub ПримерИспользованияФункцииTranslit()
txt = "проверка работы транслита"
newtxt = Translit(txt) ' результат = строка "proverka rabot'y translita"
MsgBox "Строка """ & txt & """" & vbNewLine & "преобразована в строку """ _
& newtxt & """", vbInformation, "Результат обработки"
End Sub
[/vba]

Можно ли сделать, чтобы функция translit работала во всех вновь открытых файлах? Нигде не смог найти решение

Автор - Vlad250
Дата добавления - 05.01.2014 в 23:59
AndreTM Дата: Понедельник, 06.01.2014, 01:06 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Ну, как бы можно использовать стандартный вызов функции из другой книги. Поскольку Personal.xls* после создания будет всегда открыта, то делаем так:
[vba]
Код
newtxt = Application.Run("personal.xlsb!Translit", txt)
[/vba]
Если надо использовать данную функцию прямо в ячейке - то аналогично:
=PERSONAL.XLSB!Translit(A1)


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Понедельник, 06.01.2014, 01:09
 
Ответить
СообщениеНу, как бы можно использовать стандартный вызов функции из другой книги. Поскольку Personal.xls* после создания будет всегда открыта, то делаем так:
[vba]
Код
newtxt = Application.Run("personal.xlsb!Translit", txt)
[/vba]
Если надо использовать данную функцию прямо в ячейке - то аналогично:
=PERSONAL.XLSB!Translit(A1)

Автор - AndreTM
Дата добавления - 06.01.2014 в 01:06
Hugo Дата: Понедельник, 06.01.2014, 01:30 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Выбирайте её в мастере, в разделе "Определённые пользователем" - это если используете в ячейках листа.
Думаю если бы делали как положено (Майкрософтом) - вопроса бы и не было :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВыбирайте её в мастере, в разделе "Определённые пользователем" - это если используете в ячейках листа.
Думаю если бы делали как положено (Майкрософтом) - вопроса бы и не было :)

Автор - Hugo
Дата добавления - 06.01.2014 в 01:30
Vlad250 Дата: Понедельник, 06.01.2014, 02:11 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Спасибо, правда длинновато и не выпадает как подсказка.
 
Ответить
СообщениеСпасибо, правда длинновато и не выпадает как подсказка.

Автор - Vlad250
Дата добавления - 06.01.2014 в 02:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вызов функции макроса из личной книги (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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