Вы спрашиваете то, что Вам и так УЖЕ дали (в ответах есть подсказки в чем и как можно выполнить код. разбирайтесь и пользуйтесь) понимаете, если в Evaluate написать ерунду - она тоже ничего не вычислит и вообще может упасть по ошибке. не пишите ерунды в scriptcontrol или в vbs-файл и все они посчитают
Он не существует (невозможен) По крайней мере, для 64-битных систем
Не верите? Что ж, докажите, сделав работающий пример А пока делаете, может поймете, что это тупиковый путь
PS: Я в некоторых своих проектах храню код отдельно (типа как у вас, в ячейке) но при необходимости его запуска, программно создаю стандартный модуль, вставляю туда этот код (в виде макроса или списка макросов), и запускаю. Но это касается макросов целиком. Кусок кода так выполнить не получится.
PPS: как бы есть решение, которое можно запустить и на 64-битной системе (через HTA), я делал как-то, и это даже работало, но все антивирусы начинали сильно ругаться при проверке такого файла (а я делал макрос для распространения), потому, отказался от этой затеи.
tod2020, посмотрите тему. Там в примере из #9 - пользовательская_функция (рабочего листа), последний аргумент в которой - текст формулы. Может надо типа этого ?
1.Один модуль может корректировать другой модуль? 2.ИЛИ Может один модуль экспортировать модуль в виде фала bas отредактировать и обратно импортировать и выполнить?
Поздновато, но все же: раз так хочется выполнять код, записав в ячейке - изучайте язык Майя А точнее язык макросов 4.0, которые писались исключительно на листах макросов 4.0. Язык довольно древний, но пока что продолжает поддерживаться Microsoft. Сейчас по большей части функции этого языка известны как "макрофункции". Использовать такие макросы можно только листах макросов, которые добавляются в книгу так: правая кнопка мыши на ярлыке любого листа -Вставить -Макрос MS Excel 4.0. Но тут так же придется учесть, что справка по этим функциям давным-давно устарела и их использование очень сильно отличается от удобного VBA. Но зато это полностью отвечает требованиям - выполнить код, записав его в ячейку.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Безусловно молодец. Но никакого открытия или чего-то, что здесь было бы кому-то неизвестно, Вы не сделали. И не забывайте, что если будет отключено доверие к проекту VBA или проект будет защищен паролем - задумка поломается и работать перестанет. Ну и конечно, статичная замена конкретной строки может повлечь ошибки, если вдруг в ячейку будет занесен текст, содержащий переносы строк. Это тоже советую учесть, если оно может иметь место быть.
Плюс, если бы заранее было пояснено, что надо именно модифицировать имеющийся код при помощи текста в ячейке для последующего его выполнения с изменениями - ответ получили бы давно, потому как модифицировать код, взяв текст из ячейки и выполнить код из ячейки - очень разные вещи. Поэтому от Вас и требовали пояснить для чего вообще все это надо.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
спасибо за предостережения об авариных ситуациях. Да и не важно было каким образом код из ячеек будет выполняться. заменой строки или ещё как в обход ...все почемуто начали говорить о невозможности исполнения кода в ячейках
А это потомучто так нудно читать много воды и я не внимательно потому читаю потомучто ой как нудно и не хочеться Я люблю лаконичность, сам стараюсь без лишних слов прилюдий и церемнойи, потомучто дел много а распыляться на это ой как не хочется
Этим объяснением может я стану понятнее и мои поступки станут понятнее