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

Вход

Регистрация

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

 

= Мир MS Excel/Substitute в макросе, правильное употребление - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Substitute в макросе, правильное употребление (Формулы/Formulas)
Substitute в макросе, правильное употребление
pentium1024 Дата: Среда, 01.12.2021, 11:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
Здравствуйте!
t = Substitute("Ваня1","1","") в макросе даёт ошибку «ReferenceError: Substitute is not defined» вместо ожидаемого «Ваня».
При этом будучи подставленной в ячейку она вполне выдаёт искомого Ваню после замены «,» на «;»: =ПОДСТАВИТЬ("Ваня1";"1";"").
Одно время в макросе не получалось ввести первую зпт, при смене фокуса она сама менялась на «;». Но эта невозможность как-то сама прошла после пляски с бубном.
Прошу помощи сообщества.
 
Ответить
СообщениеЗдравствуйте!
t = Substitute("Ваня1","1","") в макросе даёт ошибку «ReferenceError: Substitute is not defined» вместо ожидаемого «Ваня».
При этом будучи подставленной в ячейку она вполне выдаёт искомого Ваню после замены «,» на «;»: =ПОДСТАВИТЬ("Ваня1";"1";"").
Одно время в макросе не получалось ввести первую зпт, при смене фокуса она сама менялась на «;». Но эта невозможность как-то сама прошла после пляски с бубном.
Прошу помощи сообщества.

Автор - pentium1024
Дата добавления - 01.12.2021 в 11:19
aliramora191 Дата: Среда, 01.12.2021, 12:30 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 36
Репутация: 17 ±
Замечаний: 0% ±

2016
Здравствуйте!
В макросе? Вы про Excel и VBA?


Анастасия
 
Ответить
СообщениеЗдравствуйте!
В макросе? Вы про Excel и VBA?

Автор - aliramora191
Дата добавления - 01.12.2021 в 12:30
pentium1024 Дата: Среда, 01.12.2021, 13:59 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
aliramora191, Нет, я про макрос в ГТ.
 
Ответить
Сообщениеaliramora191, Нет, я про макрос в ГТ.

Автор - pentium1024
Дата добавления - 01.12.2021 в 13:59
Gustav Дата: Среда, 01.12.2021, 14:18 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2136
Репутация: 840 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
"Макрос в ГТ" называется скриптом. Встроенной функции substitute в скриптах нету (если только вы сами ее предварительно не написали или не подключили какую-то готовую библиотеку с ней) - поэтому и ошибка. Но есть функция replace, используемая для аналогичных целей:
[vba]
Код
function myFunction() {
    var str = "Ваня1";
    Browser.msgBox( str.replace("1","") );
}
[/vba]


Мой tip box - яд 41001663842605
 
Ответить
Сообщение"Макрос в ГТ" называется скриптом. Встроенной функции substitute в скриптах нету (если только вы сами ее предварительно не написали или не подключили какую-то готовую библиотеку с ней) - поэтому и ошибка. Но есть функция replace, используемая для аналогичных целей:
[vba]
Код
function myFunction() {
    var str = "Ваня1";
    Browser.msgBox( str.replace("1","") );
}
[/vba]

Автор - Gustav
Дата добавления - 01.12.2021 в 14:18
bigor Дата: Среда, 01.12.2021, 14:29 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 681
Репутация: 139 ±
Замечаний: 0% ±

нет
я про макрос в ГТ

вы думаете язык программирования (для ГТ это вроде js) поддерживает все функции, которые можно прописать в формулах? В js попробуйте replace
 
Ответить
Сообщение
я про макрос в ГТ

вы думаете язык программирования (для ГТ это вроде js) поддерживает все функции, которые можно прописать в формулах? В js попробуйте replace

Автор - bigor
Дата добавления - 01.12.2021 в 14:29
Serge_007 Дата: Среда, 01.12.2021, 14:32 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 15405
Репутация: 2536 ±
Замечаний: ±

Excel 2016
[offtop]
"Макрос в ГТ" называется скриптом
Лирическое отступление:
Строго говоря, макросы VBA - это тоже скрипты
Название же "макрос" закрепилось за ними ещё с тех времен, когда VBA в приложениях офиса ещё не было, а в Excel был встроен макроязык программирования с макрофункциями и листами макросов, на которых эти макрофункции и использовались
У ГТ нет такой давней истории, поэтому их "макросы" сразу приняли правильное название, но сказать "макрос в ГТ" по корректности сути, ничем не отличается от "макрос в VBA") [/offtop]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[offtop]
"Макрос в ГТ" называется скриптом
Лирическое отступление:
Строго говоря, макросы VBA - это тоже скрипты
Название же "макрос" закрепилось за ними ещё с тех времен, когда VBA в приложениях офиса ещё не было, а в Excel был встроен макроязык программирования с макрофункциями и листами макросов, на которых эти макрофункции и использовались
У ГТ нет такой давней истории, поэтому их "макросы" сразу приняли правильное название, но сказать "макрос в ГТ" по корректности сути, ничем не отличается от "макрос в VBA") [/offtop]

Автор - Serge_007
Дата добавления - 01.12.2021 в 14:32
aliramora191 Дата: Среда, 01.12.2021, 15:25 | Сообщение № 7
Группа: Проверенные
Ранг: Новичок
Сообщений: 36
Репутация: 17 ±
Замечаний: 0% ±

2016
сказать "макрос в ГТ" по корректности сути, ничем не отличается от "макрос в VBA"

то есть в Майкрософт тоже не верно используют слово макрос?
К сообщению приложен файл: 7979723.jpg(16.9 Kb)


Анастасия
 
Ответить
Сообщение
сказать "макрос в ГТ" по корректности сути, ничем не отличается от "макрос в VBA"

то есть в Майкрософт тоже не верно используют слово макрос?

Автор - aliramora191
Дата добавления - 01.12.2021 в 15:25
Gustav Дата: Среда, 01.12.2021, 16:04 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2136
Репутация: 840 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Строго говоря, макросы VBA - это тоже скрипты

[offtop]Серж, целиком и полностью согласен. Но в данном конкретном случае, это вызвало путаницу среди профессионалов, из-за чего был задан уточняющий вопрос от aliramora191. Я хоть и молчал, но тоже имел некоторые сомнения, особенно учитывая, что товарищ ТС (в дополнение к "макросам") пытался поместить в скрипт идентификатор табличной функции - что, как известно, возможно в Excel, но, к великому сожалению, пока невозможно в ГТ (а пора бы уже им прикрутить столь полезную фичу!).

Поэтому, конечно, вопрошающих, особенно не столь искушенных, желательно сразу приучать к правильной терминологии. Мы, конечно, догадаемся, что за фразой "у меня тут формула в облачном Excel" (даже часто Exel :)) скрывается ГТ (хотя и реально облачный Excel 365 в природе существует), а также, что бухгалтер, говоря "у меня тут сводная таблица", имеет в виду совсем не сводную таблицу как специфический объект Excel. Но всяко будет лучше для всех - сразу говорить на одном языке.


Мой tip box - яд 41001663842605
 
Ответить
Сообщение
Строго говоря, макросы VBA - это тоже скрипты

[offtop]Серж, целиком и полностью согласен. Но в данном конкретном случае, это вызвало путаницу среди профессионалов, из-за чего был задан уточняющий вопрос от aliramora191. Я хоть и молчал, но тоже имел некоторые сомнения, особенно учитывая, что товарищ ТС (в дополнение к "макросам") пытался поместить в скрипт идентификатор табличной функции - что, как известно, возможно в Excel, но, к великому сожалению, пока невозможно в ГТ (а пора бы уже им прикрутить столь полезную фичу!).

Поэтому, конечно, вопрошающих, особенно не столь искушенных, желательно сразу приучать к правильной терминологии. Мы, конечно, догадаемся, что за фразой "у меня тут формула в облачном Excel" (даже часто Exel :)) скрывается ГТ (хотя и реально облачный Excel 365 в природе существует), а также, что бухгалтер, говоря "у меня тут сводная таблица", имеет в виду совсем не сводную таблицу как специфический объект Excel. Но всяко будет лучше для всех - сразу говорить на одном языке.

Автор - Gustav
Дата добавления - 01.12.2021 в 16:04
Serge_007 Дата: Среда, 01.12.2021, 16:18 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 15405
Репутация: 2536 ±
Замечаний: ±

Excel 2016
[offtop]
в Майкрософт тоже не верно используют слово макрос?
Да. Но это делается умышленно, в целях соблюдения "совместимости" (MS это любят :D ), ну или "приемственности"

желательно сразу приучать к правильной терминологии
Полностью согласен! Но это бесполезно, к сожалению...
Более того, люди ещё и обижаются, когда им говоришь, что ВПР() - это не формула, а функция, что Sheets - это совсем не вкладки или страницы, что в русской локали Excel нет клеток и колонок и т.д.
Называют эти уточнения - придирками yes [/offtop]
[p.s.]"неверно" пишется слитно...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[offtop]
в Майкрософт тоже не верно используют слово макрос?
Да. Но это делается умышленно, в целях соблюдения "совместимости" (MS это любят :D ), ну или "приемственности"

желательно сразу приучать к правильной терминологии
Полностью согласен! Но это бесполезно, к сожалению...
Более того, люди ещё и обижаются, когда им говоришь, что ВПР() - это не формула, а функция, что Sheets - это совсем не вкладки или страницы, что в русской локали Excel нет клеток и колонок и т.д.
Называют эти уточнения - придирками yes [/offtop]
[p.s.]"неверно" пишется слитно...

Автор - Serge_007
Дата добавления - 01.12.2021 в 16:18
pentium1024 Дата: Среда, 01.12.2021, 23:15 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
"Макрос в ГТ" называется скриптом.

Gustav, вот Гугл называет скрипты макросами.
Большое спасибо за код и пояснения.
Прошу ссылки на учебник по написанию скриптов-макросов в ГТ.

не столь искушенных … желательно сразу приучать к правильной терминологии

Начнём с приучения не столь искушённого Гугла.

вы думаете язык … поддерживает все функции, которые можно прописать в формулах?

Спасибо за ответ. Да, считал до прочтения ветки. Как в VBA, думал.
Прошу ссылки на учебник по написанию скриптов-макросов в ГТ.
К сообщению приложен файл: 8143597.png(102.7 Kb)


Сообщение отредактировал pentium1024 - Четверг, 02.12.2021, 00:53
 
Ответить
Сообщение
"Макрос в ГТ" называется скриптом.

Gustav, вот Гугл называет скрипты макросами.
Большое спасибо за код и пояснения.
Прошу ссылки на учебник по написанию скриптов-макросов в ГТ.

не столь искушенных … желательно сразу приучать к правильной терминологии

Начнём с приучения не столь искушённого Гугла.

вы думаете язык … поддерживает все функции, которые можно прописать в формулах?

Спасибо за ответ. Да, считал до прочтения ветки. Как в VBA, думал.
Прошу ссылки на учебник по написанию скриптов-макросов в ГТ.

Автор - pentium1024
Дата добавления - 01.12.2021 в 23:15
pentium1024 Дата: Среда, 01.12.2021, 23:22 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
"неверно" пишется слитно...

Serge_007, всяко пишется, и слитно, и раздельно. В данном случае написано раздельно верно.
Правило таково: если между «не» и наречием можно вставить слово («не совсем верно»), то написание раздельно.
 
Ответить
Сообщение
"неверно" пишется слитно...

Serge_007, всяко пишется, и слитно, и раздельно. В данном случае написано раздельно верно.
Правило таково: если между «не» и наречием можно вставить слово («не совсем верно»), то написание раздельно.

Автор - pentium1024
Дата добавления - 01.12.2021 в 23:22
Pelena Дата: Четверг, 02.12.2021, 07:31 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
если между «не» и наречием можно вставить слово («не совсем верно»), то написание раздельно
это что за правило? Можно ссылку на первоисточник


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
если между «не» и наречием можно вставить слово («не совсем верно»), то написание раздельно
это что за правило? Можно ссылку на первоисточник

Автор - Pelena
Дата добавления - 02.12.2021 в 07:31
Serge_007 Дата: Четверг, 02.12.2021, 09:54 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 15405
Репутация: 2536 ±
Замечаний: ±

Excel 2016
В данном случае написано раздельно верно
Нет, в данном случае пишется именно слитно, иначе я бы не обратил на ошибку Ваше внимание



Цитата
Материал подготовлен совместно с учителем высшей категории Кучминой Надеждой Владимировной.
Опыт работы учителем русского языка и литературы - 27 лет.

Написание наречий и прилагательных с “не” вызывает множество затруднений, так что ответ на вопрос, как правильно пишется слово неверно, слитно или раздельно, не будет слишком простым. В данном случае правописание будет зависеть от того, можно ли заменить слово синонимом и есть ли противопоставление.
Правило “неверно” (наличие синонима)
Так, в большинстве случаев наречие или краткое прилагательное "неверно" пишется слитно по общему правилу, когда его можно заменить синонимом “ошибочно”. Чтобы понять, что имеется в виду, рассмотрим несколько примеров.

Примеры:
Из-за того, что адрес на письме был указан неверно, оно так и не дошло до дедушки.
Неверно поставленный диагноз оказался для больного роковым: он умер той же ночью.
Неверно высказанная мысль – причина многих конфликтов.
Неверно это ваше утверждение.


Правило “не верно” (наличие противопоставления с союзом “а”)
Если же в предложении четко прослеживается противопоставление, то есть имеется союз “а”, то наречие или краткое прилагательноес “не” пишется раздельно – не верно.

Примеры:
Его утверждение было не верно, а ошибочно, чему имелись убедительные доказательства.
Чтобы убедиться, что так поступать не верно, а дурно, он проверил все на своем опыте.
Ложь во спасение не верно, а плохо.


Подробнее: https://obrazovaka.ru/kak-pishetsya/neverno.html


Фраза
в Майкрософт тоже не верно используют слово макрос?
равнозначна фразе: в Майкрософт тоже ошибочно используют слово макрос?, следовательно, в данном случае "неверно" пишется раздельно

Цитата
в Майкрософт тоже не верно, а ошибочно используют слово макрос?
- если бы фраза была построена так, то в этом случае, "не верно" писалось бы раздельно
К сообщению приложен файл: 7414631.png(7.9 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
В данном случае написано раздельно верно
Нет, в данном случае пишется именно слитно, иначе я бы не обратил на ошибку Ваше внимание



Цитата
Материал подготовлен совместно с учителем высшей категории Кучминой Надеждой Владимировной.
Опыт работы учителем русского языка и литературы - 27 лет.

Написание наречий и прилагательных с “не” вызывает множество затруднений, так что ответ на вопрос, как правильно пишется слово неверно, слитно или раздельно, не будет слишком простым. В данном случае правописание будет зависеть от того, можно ли заменить слово синонимом и есть ли противопоставление.
Правило “неверно” (наличие синонима)
Так, в большинстве случаев наречие или краткое прилагательное "неверно" пишется слитно по общему правилу, когда его можно заменить синонимом “ошибочно”. Чтобы понять, что имеется в виду, рассмотрим несколько примеров.

Примеры:
Из-за того, что адрес на письме был указан неверно, оно так и не дошло до дедушки.
Неверно поставленный диагноз оказался для больного роковым: он умер той же ночью.
Неверно высказанная мысль – причина многих конфликтов.
Неверно это ваше утверждение.


Правило “не верно” (наличие противопоставления с союзом “а”)
Если же в предложении четко прослеживается противопоставление, то есть имеется союз “а”, то наречие или краткое прилагательноес “не” пишется раздельно – не верно.

Примеры:
Его утверждение было не верно, а ошибочно, чему имелись убедительные доказательства.
Чтобы убедиться, что так поступать не верно, а дурно, он проверил все на своем опыте.
Ложь во спасение не верно, а плохо.


Подробнее: https://obrazovaka.ru/kak-pishetsya/neverno.html


Фраза
в Майкрософт тоже не верно используют слово макрос?
равнозначна фразе: в Майкрософт тоже ошибочно используют слово макрос?, следовательно, в данном случае "неверно" пишется раздельно

Цитата
в Майкрософт тоже не верно, а ошибочно используют слово макрос?
- если бы фраза была построена так, то в этом случае, "не верно" писалось бы раздельно

Автор - Serge_007
Дата добавления - 02.12.2021 в 09:54
Serge_007 Дата: Четверг, 02.12.2021, 10:06 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 15405
Репутация: 2536 ±
Замечаний: ±

Excel 2016
Как в VBA, думал
В VBA тоже не все функции листа Excel можно использовать


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Как в VBA, думал
В VBA тоже не все функции листа Excel можно использовать

Автор - Serge_007
Дата добавления - 02.12.2021 в 10:06
pentium1024 Дата: Четверг, 02.12.2021, 12:15 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
это что за правило?

Pelena, возможно, это не правило, а запоминание, вроде «уж замуж невтерпёж». Учившая этому правило уже покойна, а искать недосуг.

если бы фраза была построена так

Serge_007, уж не хотите ли Вы сказать, что перестроение второй части предложения (например, дописывание в самом конце «, но ошибочно») меняет слова («неверно» на «не» и «верно») в первой? Это невозможно. Это невозможное вмешательство потусторонних сил.

Pelena, Serge_007, спасибо за грамматическую беседу. Как всегда и как везде в нынешнее время, остаёмся со своими правилами и убеждениями.
 
Ответить
Сообщение
это что за правило?

Pelena, возможно, это не правило, а запоминание, вроде «уж замуж невтерпёж». Учившая этому правило уже покойна, а искать недосуг.

если бы фраза была построена так

Serge_007, уж не хотите ли Вы сказать, что перестроение второй части предложения (например, дописывание в самом конце «, но ошибочно») меняет слова («неверно» на «не» и «верно») в первой? Это невозможно. Это невозможное вмешательство потусторонних сил.

Pelena, Serge_007, спасибо за грамматическую беседу. Как всегда и как везде в нынешнее время, остаёмся со своими правилами и убеждениями.

Автор - pentium1024
Дата добавления - 02.12.2021 в 12:15
pentium1024 Дата: Четверг, 02.12.2021, 12:16 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
В VBA тоже не все функции листа Excel можно использовать

Serge_007, если помните, какие, напишите, пожалуйста.
 
Ответить
Сообщение
В VBA тоже не все функции листа Excel можно использовать

Serge_007, если помните, какие, напишите, пожалуйста.

Автор - pentium1024
Дата добавления - 02.12.2021 в 12:16
Serge_007 Дата: Четверг, 02.12.2021, 13:16 | Сообщение № 17
Группа: Админы
Ранг: Местный житель
Сообщений: 15405
Репутация: 2536 ±
Замечаний: ±

Excel 2016
возможно, это не правило
Верно, нет такого правила

не хотите ли Вы сказать, что перестроение второй части предложения (например, дописывание в самом конце «, но ошибочно») меняет слова («неверно» на «не» и «верно») в первой?
Вы путаете слово "неверно" со словосочетанием "не верно". Слово всегда пишется слитно, а словосочетание - всегда раздельно. Слово применяется в утвердительных предложениях, а словосочетание - в предложениях с противопоставлениями

остаёмся со своими правилами и убеждениями
Свои правила и убеждения могут быть у человека только для внутреннего применения
Например, как бы Вы ни были убеждены в том, что завтра Вам, каждый из встретившихся на улице людей, подарит по миллиону долларов - этого не произойдет, потому что у людей есть правило - не дарить посторонним по ляму баксов ежедневно :D

Это невозможно
Есть правила русского языка и эти правила официально закреплены на государственном уровне

если помните, какие, напишите, пожалуйста
Не помню, конечно
Функций листа под две тысячи где-то, их сложно даже просто все знать наизусть, не говоря уж о том, что бы помнить, какие из них в VBA недоступны
Попробуйте в VBE сами посмотреть
Зайдите в коллекцию WorksheetFunction и полистайте
При беглом просмотре я не увидел, например функций
Код
ЯЧЕЙКА(), Ф.ТЕКСТ(), ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ(), РАЗНДАТ()
и т.д.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
возможно, это не правило
Верно, нет такого правила

не хотите ли Вы сказать, что перестроение второй части предложения (например, дописывание в самом конце «, но ошибочно») меняет слова («неверно» на «не» и «верно») в первой?
Вы путаете слово "неверно" со словосочетанием "не верно". Слово всегда пишется слитно, а словосочетание - всегда раздельно. Слово применяется в утвердительных предложениях, а словосочетание - в предложениях с противопоставлениями

остаёмся со своими правилами и убеждениями
Свои правила и убеждения могут быть у человека только для внутреннего применения
Например, как бы Вы ни были убеждены в том, что завтра Вам, каждый из встретившихся на улице людей, подарит по миллиону долларов - этого не произойдет, потому что у людей есть правило - не дарить посторонним по ляму баксов ежедневно :D

Это невозможно
Есть правила русского языка и эти правила официально закреплены на государственном уровне

если помните, какие, напишите, пожалуйста
Не помню, конечно
Функций листа под две тысячи где-то, их сложно даже просто все знать наизусть, не говоря уж о том, что бы помнить, какие из них в VBA недоступны
Попробуйте в VBE сами посмотреть
Зайдите в коллекцию WorksheetFunction и полистайте
При беглом просмотре я не увидел, например функций
Код
ЯЧЕЙКА(), Ф.ТЕКСТ(), ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ(), РАЗНДАТ()
и т.д.

Автор - Serge_007
Дата добавления - 02.12.2021 в 13:16
Gustav Дата: Четверг, 02.12.2021, 22:07 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 2136
Репутация: 840 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Зайдите в коллекцию WorksheetFunction и полистайте
При беглом просмотре я не увидел, например функций

ЯЧЕЙКА(), Ф.ТЕКСТ(), ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ(), РАЗНДАТ()

WorksheetFunction, в частности, не включает те расхожие функции, которые изначально есть и в самом VBA (по наследству от базового VB), например, строчные Left, Right и т.п. И, кстати - DateDiff (видимо, поэтому РАЗНДАТ и нет в WF).

НО! У нас же есть замечательный метод Application.Evaluate (см. обсуждение по ссылке в моей цитате ниже):

Любую функцию можно заплести в код VBA через метод Evaluate:
? Application.Evaluate("=DATEDIF(DATE(2001,6,1),DATE(2002,8,15),""D"")")
440

что соответствует формуле в ячейке:

=РАЗНДАТ(ДАТА(2001;6;1);ДАТА(2002;8;15);"D")

И выше (в сообщении № 8 текущей темы) я, сетуя на отсутствие на данный момент у Гугла соответствующих инструментов, в первую очередь, думал об Evaluate (и только во вторую - о WorksheetFunction :) ).

Причем, комбинируя текстовые аргументы Evaluate с настоящим VBA, можно в компактном виде проделывать достаточно сложные вычисления:
Вставка формулы с учётом изменения адреса


Мой tip box - яд 41001663842605

Сообщение отредактировал Gustav - Четверг, 02.12.2021, 22:20
 
Ответить
Сообщение
Зайдите в коллекцию WorksheetFunction и полистайте
При беглом просмотре я не увидел, например функций

ЯЧЕЙКА(), Ф.ТЕКСТ(), ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ(), РАЗНДАТ()

WorksheetFunction, в частности, не включает те расхожие функции, которые изначально есть и в самом VBA (по наследству от базового VB), например, строчные Left, Right и т.п. И, кстати - DateDiff (видимо, поэтому РАЗНДАТ и нет в WF).

НО! У нас же есть замечательный метод Application.Evaluate (см. обсуждение по ссылке в моей цитате ниже):

Любую функцию можно заплести в код VBA через метод Evaluate:
? Application.Evaluate("=DATEDIF(DATE(2001,6,1),DATE(2002,8,15),""D"")")
440

что соответствует формуле в ячейке:

=РАЗНДАТ(ДАТА(2001;6;1);ДАТА(2002;8;15);"D")

И выше (в сообщении № 8 текущей темы) я, сетуя на отсутствие на данный момент у Гугла соответствующих инструментов, в первую очередь, думал об Evaluate (и только во вторую - о WorksheetFunction :) ).

Причем, комбинируя текстовые аргументы Evaluate с настоящим VBA, можно в компактном виде проделывать достаточно сложные вычисления:
Вставка формулы с учётом изменения адреса

Автор - Gustav
Дата добавления - 02.12.2021 в 22:07
прохожий2019 Дата: Четверг, 02.12.2021, 22:13 | Сообщение № 19
Группа: Проверенные
Ранг: Ветеран
Сообщений: 908
Репутация: 250 ±
Замечаний: 0% ±

365 Beta Channel
если помните, какие, напишите, пожалуйста
как минимум все функции дат и времени - в VBA они свои

Прошу ссылки на учебник по написанию скриптов-макросов в ГТ
в другой вашей теме привел уже
 
Ответить
Сообщение
если помните, какие, напишите, пожалуйста
как минимум все функции дат и времени - в VBA они свои

Прошу ссылки на учебник по написанию скриптов-макросов в ГТ
в другой вашей теме привел уже

Автор - прохожий2019
Дата добавления - 02.12.2021 в 22:13
pentium1024 Дата: Пятница, 03.12.2021, 00:17 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 34
Репутация: 0 ±
Замечаний: 20% ±

2016
Цитата прохожий2019, 02.12.2021 в 22:13, в сообщении № 19 ()
все функции дат и времени - в VBA они свои

прохожий2019, так-таки все? Date и СЕГОДНЯ()? Hour и ЧАС?
 
Ответить
Сообщение
Цитата прохожий2019, 02.12.2021 в 22:13, в сообщении № 19 ()
все функции дат и времени - в VBA они свои

прохожий2019, так-таки все? Date и СЕГОДНЯ()? Hour и ЧАС?

Автор - pentium1024
Дата добавления - 03.12.2021 в 00:17
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Google Docs » Substitute в макросе, правильное употребление (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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