![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 21.08.2015
Сообщений: 7
|
![]()
Доброго времени суток. В моем маленьком коде есть момент, когда макрос ищет значение u в таблице на втором листе "лист 1". Мне нужно, чтобы он находил и приблизительные значения. то есть, например, если я введу 0,5 он нашел в табличке 0,4935. Подскажите, как это сделать, пожалуйста)
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
![]()
В следующий раз выкладывайте код, а не картинки, форум программистов, а не художников
нужно округлить значение ячейки с помощью формулы ОКРУГЛ Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 21.08.2015
Сообщений: 7
|
![]()
Спасибо. Загрузить на сайт файл .xlsm не удалось, а скриншоты мне было сделать проще, чем архив. В след. раз буду делать архив. Правда такое решение не совсем правильное. По условию пользователь может ввести любое u. а значение в таблице нужно найти максимально приближенное. Поэтому если пользоваться оператором ROUND не понятно, до какого разряда округлять. Вставила Ваше решение в код - программа вообще не сработала.
Последний раз редактировалось annetetet; 21.08.2015 в 16:00. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 21.08.2015
Сообщений: 7
|
![]()
вопрос остается открытым
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.02.2012
Сообщений: 160
|
![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 27.01.2014
Сообщений: 115
|
![]()
Если подумать головой, то вам необходимо найти минимальную разницу сверху или снизу от числа (в зависимости от того, как ставится задача).
Формально, если представить значения на листе множеством A{x}, вам необходимо для поиска нужного вам числа s (близкого к заданному m) получить новое множество B{x,y} пар ключей где x - число из исходного множества A, а y - это результат разницы для поиска числа s сверху (x-m) и снизу (m-x). В итоге задача сведется к поиску минимального y в множестве B. При этом такую постановку задачи по поиску можно будет считать полной, если дополнить ее точностью поиска эпсилон. Это нужно в тех случаях, если мы имеем погрешность вычислений, тогда все разницы y, попавшие в погрешность отражают искомые значения s. Последний раз редактировалось Akeloya; 26.08.2015 в 08:32. Причина: формулировка:) |
![]() |
![]() |
![]() |
#7 | |
Регистрация: 21.08.2015
Сообщений: 7
|
![]() Цитата:
*далеко мне еще до звания аса в этом деле |
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 21.08.2015
Сообщений: 7
|
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 11.09.2014
Сообщений: 44
|
![]()
а зачем вы пытаетесь взять значение из ячейки
Код:
и нужно предупреждать, что значение "k" меньше единицы, как в принципе и "u" Последний раз редактировалось who; 26.08.2015 в 17:01. |
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 27.01.2014
Сообщений: 115
|
![]() Цитата:
![]() Модуль - функция abs(x). Т.е., вам необходимо брать модуль от разницы abs(u - cells[i,j]), тогда вы просто ищите число близкое к нулю. Даю подсказку - вы можете не просто писать код, но и воспользоваться листами экселя вбивая в ячейки формулы. Вообще, если таблица значений у вас не меняется, вам вбс код нафиг не нужен - вы на отдельном листе отводите две ячейки под значения u и k, формируете таблицу разниц исходной и u, поскольку изначально u = 0, то она будет совпадать. Затем в третьей ячейки вы выкидываете поиск минимального значения в таблице разниц, ну и несколько ячеек с формулами, высчитывающие rad, a, sin. В итоге макрос сводится к тому, чтобы ввести данные в нужную ячейку и вывести данные меседж боксом на экран, так как всё остальное выполнит за вас эксель. Одна единственная формула min и рукотворная таблица (растягиванием за крестик) заменят вам рукописный цикл ![]() В вашем случае уменьшение кода - уменьшение ошибок в решении ![]() |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Примечание в ячейке при изменении значения в ячейке другого листа | FoxRiver | Microsoft Office Excel | 4 | 12.07.2013 08:46 |
Данные из таблицы в список, если в ячейке таблицы стоит количество | oleg_sh | Microsoft Office Excel | 4 | 08.10.2012 14:52 |
Присвоение ячейке пустого значения | ogololobov2009 | Microsoft Office Excel | 1 | 05.03.2011 16:37 |
Как осуществить поиск заданного значения в столбце таблицы? | Dux | БД в Delphi | 6 | 04.01.2011 23:36 |
Автоматическое изменение значения в ячейке | TStalin | Microsoft Office Excel | 7 | 07.09.2010 18:19 |