Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Ссылка на ограничивающие ячейки в макросе с использованием надстройки "Поиск решения"
 
Обычная запись ограничений (например) снизу в Solver:  
SolverAdd CellRef:="$C$22:$C$25", Relation:=3, FormulaText:="$C$5:$C$8"  
где    
$C$22:$C$25 - массив ячеек, которые подлежат ограничению  
Relation:=3 - ограничения снизу  
$C$5:$C$8 - массив ячеек, которым ограничивают ячейки $C$22:$C$25    
 
Предположим, что 3-й ряд на листе Excel требуется записать через i:  
i=3  
SolverAdd CellRef:=Range(Cells(22, i), Cells(25, i)), Relation:=3, _  
FormulaText:="$C$5:$C$8"  
Эта запись проходит.  
 
Как с использованием i написать FormulaText:=?
Замена переменной на константу в макросе с использованием надстройки "Поиск решения"
 
Спасибо за решение. Моя ошибка состояла в том, что с Солвером надо разговаривать на его языке. То есть он читает только свои тексты типа SolverOK, SolverSolve, SolverChange. Другой подход к решению замены переменной на константу в Солвере заключается в ограничении переменной снизу и сверху одним числом.  
Сковородин.
Определение повторяющихся чисел в массиве
 
Хотелось бы сделать функцию пользователя (rep_value), то есть записать Вашу функцию в макрос.  
Что-то подобное:  
Function rep_value(r1 As Range, r2 As Range, r3 As Range)  
Range("r1").Select  
 
Selection.FormulaArray = "=НАИБОЛЬШИЙ((ЧАСТОТА(r2;r2)>1)*ТРАНСП(r3);СТОЛБЕЦ())"  
End Function  
Этот код не работает. Помогите, пожалуйста, написать эту функцию.  
Сковородин.
Определение повторяющихся чисел в массиве
 
Спасибо.
Формат записи переменных в Solver
 
Спасибо, с Union получилось.
Формат записи переменных в Solver
 
Дана запись изменяемых ячеек (переменных) в двух массивах $D$74:$BI$74 и $B$75:$BI$75:    
 
SolverOk SetCell:="$BL$76", MaxMinVal:=2, ByChange:="$D$74:$BI$74, $B$75:$BI$75"  
Необходимо записать эти массивы переменных в формате Cells(1,1)  
 
Вот такая запись проходит нормально:  
SolverOk SetCell:=Cells(76, 64), MaxMinVal:=2, _  
ByChange:=Range(Cells(74, 4), Cells(74, 61))  
В этой записи указан первый массив перменных: $D$74:$BI$74.  
Второй массив переменных $B$75:$BI$75 в формате Range(Cells(75, 2), Cells(75, 61))присоединить к первому массиву не получается, Excel выдаёт сообщения о разных ошибках в зависимости от комбинации скобок, запятых и слов.  
Как сделать запись массивов ByChange:="$D$74:$BI$74, $B$75:$BI$75"  
в формате Cells(1,1)?
Надстройка "Поиск решения" и функции Excel
 
Пример.  
В ячейки A1:F1 введены положительные целые числа в пределах от 1 до 6:  2 1 3 6 1 6.  
В ячейке B3 вставлена функция: СЧЁТЕСЛИ(A1:F1;">4"), то есть функция подсчитывает количество чисел в данном массиве, величина которых больше 4. В форме "Поиск решения" установлена целевая ячейка B3, равной максимальному значению. Изменяемые ячейки: A1:F1. Также введены ограничения на переменные:    
A1:F1<=6 и A1:F1>=1. Нажимаем кнопку "Выполнить". Появляется сообщение "Решение найдено". Однако в ячейке B3 стоит число 2, хотя по идее должно быть число 6. То есть Excel не "захотел" менять ячейки  A1:F1.  
Можно ли как-то "заставить" Excel выполнить эту задачу?
Распределение случайных целых чисел в заданном массиве без повторения
 
Задан массив ячеек, например A1:A5 и целые числа 1, 2, 3, 4, 5.  
Необходимо распределить эти числа в заданном массиве случайным образом.    
Например так: 3, 2, 4, 5, 1.  
Вариант 3, 2, 4, 3, 1 не проходит, поскольку число 3 повторяется.  
Как с помощью макроса VBA выполнить эту задачу?
Страницы: 1
Наверх