Консультация № 127123
13.03.2008, 13:10
0.00 руб.
0 2 2
Здравствуйте, умные люди!
Помогите, плизззззз. Как запускать макрос через формулу в екселе???
В смысле: я написала макрос, скажем под названием Tera, который предназначиный для перевода слов. У меня есть столбец A:A, в каждой строчке которого находяться некоторые слова. В столбце рядом B:B я хочу чтобы эти слова переводились.....тоесть в ячейки B1 должна прописыватся формула"=Tera(A1)" и соотвецтвенно переводится слово. потом мы растягиваем эту формулу на весь столбец и получаем полностю перевод всех строк диапазона А:А.
Я конечно понимаю, что можно написать процедуру, которая будет переходить от строчки до строчки в столбце и писать перевод....но это ведь намного проще......плиз помогите!!!!!
Заранее спасибо.....
Viena

Обсуждение

давно
Модератор
137394
1850
13.03.2008, 18:26
общий
это ответ
Здравствуйте, Viena!
Объясню на простом примере. (У меня Office XP, уверен, в 2003 будет то же самое, 2007 не берусь судить, не знаю)
В A1 поставим 2, в B1 поставим 8
Сервис-Макрос-Редактор VisualBasic -Insert-Module-
Там напишем функцию

Function Процентик(A, B)
Процентик = A / B * 100
End Function

Выйдем на таблицу, в клетке, например, С1 напишем =Процентик(A1;B1)
Получим 25, что и требовалось. Ваша функция в формулах ведет себя так же, как и стандартная встроенная в Excel.

Аналогично нарисуйте свою функцию Tera
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Мастер-Эксперт
680
2811
13.03.2008, 21:19
общий
это ответ
Не совсем ответ на Ваш вопрос, но посмотрите, может, понравится.
Если в каждой ячейке содержится одно слово, то можно использовать способ еще проще, без макросов, - это использование функции ВПР.
Для этого на одном из листов книги создаете словарь, где перечисляете слова и их перевод. Таблицу эту обязательно отсортируйте по алфавиту.
Перевод делаем так. В ячейку рядом со словом, которое нужно перевести, вписываете формулу =ВПР(A1;Словарь!A1:B4;2) (вместо A1 - адрес ячейки со словом, вместо A1:B4 указывается диапазон таблицы-словаря, 2 - это номер столбца в таблице-словаре, в котором записан перевод). Если слова в словаре нет, будет возвращено значение #Н/Д.
Если все слова написаны в столбце, то далее просто распространяем эту формулу на весь нужный диапазон.
В принципе, так же можно переводить и цепочки слов, но их предварительно разбивая - тоже можно написать - на отдельные слова...



Приложение:
Справка Excel:ВПРИщет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца таблицы. Функция ВПР используется вместо функции ГПР, когда сравниваемые значения расположены в столбце слева от искомых данных.Буква «В» в имени функции ВПР означает «вертикальный».СинтаксисВПР(искомое_значение;таблица;номер_столбца;интервальный_просмотр)Искомое_значение — это значение, которое должно быть найдено в первом столбце массива. Искомое_значение может быть значением, ссылкой или текстовой строкой.Таблица — таблица с информацией, в которой ищутся данные. Можно использовать ссылку на интервал или имя интервала, например БазаДанных или Список. Если интервальный_просмотр имеет значение ИСТИНА, то значения в первом столбце аргумента «таблица» должны быть расположены в возрастающем порядке: ..., -2, -1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ВПР может выдать неправильный результат. Если «интервальный_просмотр» имеет значение ЛОЖЬ, то «таблица» не обязана быть отсортированной. Данные можно упорядочить следующим образом: в меню Данные выбрать команду Сортировка и установить переключатель По Возрастанию. Значения в первом столбце аргумента «таблица» могут быть текстовыми строками, числами или логическими значениями. Текстовые строки сравниваются без учета регистра букв . Номер_столбца — это номер столбца в массиве «таблица», в котором должно быть найдено соответствующее значение. Если «номер_столбца» равен 1, то возвращается значение из первого столбца аргумента «таблица»; если «номер_столбца» равен 2, то возвращается значение из второго столбца аргумента «таблица» и так далее. Если «номер_столбца» меньше 1, то функция ВПР возвращает значение ошибки #ЗНАЧ!; если «номер_столбца» больше, чем количество столбцов в аргументе «таблица», то функция ВПР возвращает значение ошибки #ССЫЛ!.Интервальный_просмотр — это логическое значение, которое определяет, нужно ли, чтобы ВПР искала точное или приближенное соответствие. Если этот аргумент имеет значение ИСТИНА или опущен, то возвращается приблизительно соответствующее значение; другими словами, если точное соответствие не найдено, то возвращается наибольшее значение, которое меньше, чем искомое_значение. Если этот аргумент имеет значение ЛОЖЬ, то функция ВПР ищет точное соответствие. Если таковое не найдено, то возвращается значение ошибки #Н/Д.Заметки Если ВПР не может найти искомое_значение и интервальный_просмотр имеет значение ИСТИНА, то используется наибольшее значение, которое меньше, чем искомое_значение. Если искомое_значение меньше, чем наименьшее значение в первом столбце аргумента «таблица», то функция ВПР возвращает значение ошибки #Н/Д. Если ВПР не может найти искомое_значение и интервальный_просмотр имеет значение ЛОЖЬ, то ВПР возвращает значение ошибки #Н/Д.
Форма ответа