|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Excel - VBA
Регистрация: 22.05.2008
Сообщений: 1
|
||
Просмотров: 10950
|
|
||||
Инженер-конструктор Регистрация: 20.07.2007
Москва
Сообщений: 2,936
|
Подниму данную тему (да будут милостливы модераторы), дабы не знаю, как в случае создания новой обозвать ее.
Господа, который час уже ломаю голову над созданием макроса в Excel (знания нулевые) Необходимо вот что: допустим, есть три числа a,b,c (b=const,c=const). Как мне сделать макрос, чтобы он подбирал значение a, чтобы удовлетворялось условие a*b=c. полагаю ,что это должен быть какой-то цикл (идет подбор числа a с каким-то определенным шагом, типа: если ai*b<c, то aj=ai+delta, где дельта -определенный шаг и далее по кругу. Ну и все почти что то же самое, если значение ai*b>c), но все, что пытался сделать, насмарку. Буду чрезвычайно рад помощи!! Заранее спасибо |
|||
![]() |
|
||||
Регистрация: 09.12.2008
Сообщений: 4,643
|
a=c/b
__________________
мой блог по некоторым вопросам |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
Код:
|
|||
![]() |
|
||||
Инженер-конструктор Регистрация: 20.07.2007
Москва
Сообщений: 2,936
|
Я знал, что кто-то это напишет
![]() ![]() Немного уточню (по крайней мере, постараюсь). Есть в реальной задаче число a (ячейка A2), которое входит в выражение X(там действительно будет выражение, просто в данный момент эта ячейка численно равна ячейке A2), находящееся в ячейке F5. Так вот, нужно подобрать перебором такое значение A2, чтобы произведение выражения X (ячейка F5) на число b (ячейка G5) было равно числу C (ячейка H5) Пробую редактировать Ваш код под себя, но не выходит. прикладываю файл, гляньте и ,по возможности, дайте рецензию, что я не сделал не так (ибо макрос не хочет считаться). Последний раз редактировалось Дрюха, 15.11.2010 в 02:26. Причина: отоспался |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Вариантов два. Первый - писать все внутри ячейки (т.е. =бла-бла-бла). Вариант второй: написать пользовательскую функцию, принимающую в качестве параметра несколько ячеек и вычисления выполнять уже в ней. По скорости быстродействия второй (особенно для длинных вычислений) практически гарантированно проиграет.
Для представленной формулы можешь посмотреть такой файлец...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Я правильно понимаю, что в одной ячейке придется описать все действия с исходными данными (полный алгоритм решения)? Если то так то такой вариант не подойдет, так как в реальном расчете решение D сложнее чем в примере и с A, B и С производятся не только арифметические , но и логические действия
__________________
...переменная FILEDIA создана для привлечения пользователей к форумам. |
||||
![]() |
|
||||
Вода - моя работа Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,638
|
Логические действия тоже возможно прописать в формуле, но на мой взгляд, проще сделать по варианту два из №14
есть ещё третий вариант, расписать в дополнительных колонках промежуточные результаты вычислений зависящие друг от друга чтобы не городить очень длинную формулу в одной ячейке, потом промежуточные результаты можно просто скрыть.
__________________
Нерешаемых проблем не бывает. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
При очень (подчеркиваю - очень!) больших вычислениях фактически выбор между пользовательской формулой и #16. Основной вопрос в скорости быстродействия: как правило, пользовательская формула работает чрезвычайно медленно, и, если есть возможность, от нее надо отказаться. То есть вычисления производить в отдельных ячейках (кстати, иногда все вычисления "прячутся" на отдельном скрытом листе, с именованием ячеек и т.д. )
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 11.06.2010
Москва
Сообщений: 1,446
|
Весь интернет обшарил не могу найти как привязать элемент ActiveX к ячейке. Мне нужно чтобы скрытый комбобокс появлялся при нажатии на ячейку принадлежащую определенному диапазону. Через "именованные диапазоны" способ меня не устраивает, мне нужен быстрый поиск элемента по первым буквам. Как запустить что-либо по нажатию на ячейку понятно. Классика...
Код:
1. Как указать диапазон всего столбца? Не Range("b2:b1000") а от b2 и пока таблица не кончится. 2. Как координаты комбобокса задать чтоб он точно рядом с поюзаной ячейкой появлялся? И кстати, чем элементы ActiveX отличаются от Элементов управления? Последний раз редактировалось Brain Murder, 19.12.2010 в 02:39. |
|||
![]() |
|
||||
Цитата:
![]()
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пароль к VBA | karp_b | Программирование | 24 | 29.08.2013 12:43 |
Why VBA interpol function doesn't work in this excel file... | romkeris | Программирование | 5 | 13.05.2008 12:03 |
VBA + Autocad+Excel | gizmo_zx | Программирование | 11 | 18.01.2008 00:13 |
Перебор ячеек в Excel из VBA AutoCAD | SVitaliy | Программирование | 6 | 10.10.2007 23:45 |
Как перенести информацию из табл. в Автокаде в Excel | Margarinchik | AutoCAD | 9 | 29.11.2006 19:17 |