Мне нужно автоматически подобрать параметр в ячейках (P2;P10) (16), изменяя значения параметра в ячейках (J2;J10) (10) соответственно. У меня есть программа-макрос подбора параметра в ячейках (G6;G46) (7) при изменении значения параметра в ячейках (D6;D46) (4) соответственно.
Sub recount() Set tbl = ActiveSheet.[a5].CurrentRegion Set tbl = Range(ActiveSheet.[a6], tbl.Cells(1, 1).Offset(tbl.Rows.Count - 1)) For Each cell In tbl.Cells
cell.Offset(, 6).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 3) Next EndSub
Эта программа рабочая. Я записал эту программу под свои данные:
Sub recount() Set tbl = ActiveSheet.[a5].CurrentRegion Set tbl = Range(ActiveSheet.[a6], tbl.Cells(1, 1).Offset(tbl.Rows.Count - 1)) For Each cell In tbl.Cells
cell.Offset(, 15).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 9) Next EndSub
Неверная ссылка ошибка 1004. Не могу найти ошибку. Саму программу могу представить только в зипованном виде, поскольку она «весит» 258 кб. Но если устроит зипованная, я её выложу.
Мне нужно автоматически подобрать параметр в ячейках (P2;P10) (16), изменяя значения параметра в ячейках (J2;J10) (10) соответственно. У меня есть программа-макрос подбора параметра в ячейках (G6;G46) (7) при изменении значения параметра в ячейках (D6;D46) (4) соответственно.
Sub recount() Set tbl = ActiveSheet.[a5].CurrentRegion Set tbl = Range(ActiveSheet.[a6], tbl.Cells(1, 1).Offset(tbl.Rows.Count - 1)) For Each cell In tbl.Cells
cell.Offset(, 6).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 3) Next EndSub
Эта программа рабочая. Я записал эту программу под свои данные:
Sub recount() Set tbl = ActiveSheet.[a5].CurrentRegion Set tbl = Range(ActiveSheet.[a6], tbl.Cells(1, 1).Offset(tbl.Rows.Count - 1)) For Each cell In tbl.Cells
cell.Offset(, 15).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 9) Next EndSub
Неверная ссылка ошибка 1004. Не могу найти ошибку. Саму программу могу представить только в зипованном виде, поскольку она «весит» 258 кб. Но если устроит зипованная, я её выложу.SBK
т.е. на выполнении самой операции подбора параметров и то же заявление об ошибке. С другой стороны, я одну ошибку у себя нашёл в прежнем макросе. Я использовал числовой формат данных, а оказывается нужно было в общем формате считать Кроме того, я заменил [a5] [a6] на [a1] [a2] соответственно. При этом старая программка посчитала первые 20 строк и остановилась, хотя строки не прерывались. Вручную подбор работает в любой строке. Не подскажете почему это может быть?
InExSu, У меня Ваша программка зависла на той же строке
т.е. на выполнении самой операции подбора параметров и то же заявление об ошибке. С другой стороны, я одну ошибку у себя нашёл в прежнем макросе. Я использовал числовой формат данных, а оказывается нужно было в общем формате считать Кроме того, я заменил [a5] [a6] на [a1] [a2] соответственно. При этом старая программка посчитала первые 20 строк и остановилась, хотя строки не прерывались. Вручную подбор работает в любой строке. Не подскажете почему это может быть?SBK
Сообщение отредактировал SBK - Среда, 20.09.2017, 14:26
Вы знаете, "что" вы хотите вычислить, но не знаете как. Мы знаем "как" вычислить, но не знаем "что" Вы вычисляете, как Вы расставили данные. Ошибка Вам пишет, что кончились данные для GoalSeek.
Вы знаете, "что" вы хотите вычислить, но не знаете как. Мы знаем "как" вычислить, но не знаем "что" Вы вычисляете, как Вы расставили данные. Ошибка Вам пишет, что кончились данные для GoalSeek.InExSu
Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
Сообщение отредактировал InExSu - Среда, 20.09.2017, 15:00
Ошибка Вам пишет, что кончились данные для GoalSeek.
Я добавил пример.rar. Можно ли расширить данные? Таблица расчёта по обеим столбцам сплошная, вручную всё считается. Где может быть "стоп"? Может нужно в исходный файл добавить нижнюю строку расчёта? Как это сделать грамотно?
Ошибка Вам пишет, что кончились данные для GoalSeek.
Я добавил пример.rar. Можно ли расширить данные? Таблица расчёта по обеим столбцам сплошная, вручную всё считается. Где может быть "стоп"? Может нужно в исходный файл добавить нижнюю строку расчёта? Как это сделать грамотно?SBK
Сообщение отредактировал SBK - Среда, 20.09.2017, 15:06
Sub recount() Set tbl = ActiveSheet.[e2].CurrentRegion Set tbl = tbl.Columns(1).Offset(1).Resize(tbl.Rows.Count - 1) For Each cell In tbl.Cells
cell.Offset(, 11).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 5) Next EndSub
Может, так
Sub recount() Set tbl = ActiveSheet.[e2].CurrentRegion Set tbl = tbl.Columns(1).Offset(1).Resize(tbl.Rows.Count - 1) For Each cell In tbl.Cells
cell.Offset(, 11).GoalSeek Goal:=1, ChangingCell:=cell.Offset(, 5) Next EndSub
Pelena, А Вы знаете? Работает. Получается, что ошибка моя была в том, что в квадратных скобках нужно задавать начало массива, а не столбец а, как стандарт. Правильно я понял?
Pelena, А Вы знаете? Работает. Получается, что ошибка моя была в том, что в квадратных скобках нужно задавать начало массива, а не столбец а, как стандарт. Правильно я понял?SBK
CurrentRegion - это текущая область. Её можно увидеть, встав в ячейку и нажав Ctrl+* (звёздочка справа на цифровой клавиатуре). Попробуйте проделать это, встав в A5 или в E2, почувствуйте разницу
CurrentRegion - это текущая область. Её можно увидеть, встав в ячейку и нажав Ctrl+* (звёздочка справа на цифровой клавиатуре). Попробуйте проделать это, встав в A5 или в E2, почувствуйте разницу Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Здравствуйте! Подскажите, а возможно ли задать для подбора не фиксированное значение (как в примере - 1), а разные расположенные например напротив ячейки подбора. Установить в ячейке O7 значение равное S7 Изменяя значение ячейки L7 И так по всем строкам.
Здравствуйте! Подскажите, а возможно ли задать для подбора не фиксированное значение (как в примере - 1), а разные расположенные например напротив ячейки подбора. Установить в ячейке O7 значение равное S7 Изменяя значение ячейки L7 И так по всем строкам.
Образец прикрепил в файле. Заранее спасибо!rusmir76
ячейка L7 никак не влияет на O7 Если взять, к примеру, M7, то как-то так
Sub recount()
lrow = Cells(Rows.Count, "O").End(xlUp).Row For Each cell In Range("O7:O" & lrow) If cell <> ""Then cell.GoalSeek Goal:=cell.Offset(, 4), ChangingCell:=cell.Offset(, -2) Next EndSub
ячейка L7 никак не влияет на O7 Если взять, к примеру, M7, то как-то так
Sub recount()
lrow = Cells(Rows.Count, "O").End(xlUp).Row For Each cell In Range("O7:O" & lrow) If cell <> ""Then cell.GoalSeek Goal:=cell.Offset(, 4), ChangingCell:=cell.Offset(, -2) Next EndSub