| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Excel - VBA - Поиск решения по перебору

Excel - VBA - Поиск решения по перебору

Ответ
Поиск в этой теме
Непрочитано 17.02.2012, 00:28 #1
Excel - VBA - Поиск решения по перебору
ddtz
 
Регистрация: 16.02.2012
Сообщений: 2

Подскажите, знающие люди, решение вопроса по возможности.
была похожая тема, но не совсем похожа http://forum.dwg.ru/showthread.php?t=20838

Вопрос: Найти значение ячейки А удовлетворяющее условию В = С, где "В" должно подстраиваться под "С", при этом ячейка "С" независима и периодически может меняться.

вообщем на первый взгляд вроде все просто, есть три ячейки А,В и С из которых "С" независимая, а
значение в ячейке "В" меняется взависимости от перебора значений в ячейке "А".
Но вот беда ячейка "А" связана с ячейкой "В" не линейно т.е. задать типа ((A*B) = C) не получается.

Есть вот такой код (отдельная благодарность Олег (jr.)), но в нем ячейка "А" линейно зависима, помогите преобразовать кто понимает

Код:
[Выделить все]
Sub testiteration()
Application.Volatile True
Dim a, b, c,  As Double
Dim condition As Boolean

b = CDbl(Worksheets("1").Range("g5"))
c = Worksheets("1").Range("h5")

Dim step, start, epsilon As Double
step = 0.00000001
start = 0.00000001
epsilon = 0.00000001

Dim i As Long
i = 0
a = start
Do
a = a + step
condition = ((a * b) < (c - epsilon))
If condition = False Then
Exit Do
End If
Loop Until condition = False
With Sheets("1").Range("a8") = a
End With

MsgBox "Done"
End Sub

Последний раз редактировалось Кулик Алексей aka kpblc, 17.02.2012 в 01:24.
Просмотров: 4789
 
Непрочитано 17.02.2012, 01:25
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


А стандартный "подбор параметра" не подойдет?
По основному вопросу: замени .Range на .Cells - тогда получишь варианты намного более гибкие. Правда, немного поковыряться придется...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.02.2012, 15:50
#3
ddtz


 
Регистрация: 16.02.2012
Сообщений: 2


Кулик Алексей aka kpblc, разово, конечно, через подбор параметра результат можно получить, но значение в ячейке "С" может измениться в любой не подходящий момент, и тогда вся картина искажается до нового подбора параметра, это получается надо мониторить в ручную, вернее "вглазную" - а глаза жалко да и эффекта мало (
Вот если можно бы было привязать этот подбор параметра не к подбору Мax, Min или конкретного Значения, а к подбору значения из ячейки "С" и запускать его из макроса тогда - Да, вот только как привязать к ячейке "С"?
На счет .Range на .Cells поменять - чет не пойму как это может помочь?
ddtz вне форума  
 
Непрочитано 17.02.2012, 16:08
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844


.Cells позволит привязываться к любым ячейкам.
P.S. Приложи файл xls с конкретным примером и описанием закона зависимостей А .. В .. С. А то как-то не очень все понятно (по крайней мере, лично мне).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.02.2012, 14:19
#5
KronSerg

Вода - моя работа
 
Регистрация: 10.11.2009
Санкт-Петербург
Сообщений: 3,639


Посмотри:
Код:
[Выделить все]
Sub Расчет()
On Error Resume Next
For i = 1 To 400
j = Cells(i, 2)
Cells(i, 1).GoalSeek Goal:=j, ChangingCell:=Cells(i, 3)
Next i
End Sub
Может это ты хотел?
__________________
Нерешаемых проблем не бывает.

Последний раз редактировалось KronSerg, 18.02.2012 в 20:36.
KronSerg вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Excel - VBA - Поиск решения по перебору

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA. Как импортировать содержимое ячейки Excel в AutoCad? Petrov-Vodkin Программирование 4 27.12.2010 12:22
Как сделать окно Autocad активным при запуске из VBA Excel? AlexV Программирование 1 20.08.2009 12:40
Получечение данных с определенных листов определенного файла excel в autocad при помощи VBA Theodor Программирование 1 25.04.2009 23:37
vba + excel работающий в многопользовательском режиме ownz Программирование 3 06.04.2009 23:32
Excel, VBA: программное выделение несмежных диапазонов kp+ Программирование 3 27.01.2009 17:19