Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 17:57   #1
serafim09
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 47
По умолчанию помогите упростить код

Всем добрый вечер!


Помогите упростить мой код

Код:
Private Sub CommandButton1_Click()

    Range("G23").GoalSeek Goal:=0, ChangingCell:=Range("G21")
    Range("H23").GoalSeek Goal:=0, ChangingCell:=Range("H21")
    Range("i23").GoalSeek Goal:=0, ChangingCell:=Range("i21")
    Range("j23").GoalSeek Goal:=0, ChangingCell:=Range("j21")
    Range("k23").GoalSeek Goal:=0, ChangingCell:=Range("k21")
    Range("l23").GoalSeek Goal:=0, ChangingCell:=Range("l21")
    Range("m23").GoalSeek Goal:=0, ChangingCell:=Range("m21")
    Range("n23").GoalSeek Goal:=0, ChangingCell:=Range("n21")
    Range("o23").GoalSeek Goal:=0, ChangingCell:=Range("o21")
    Range("p23").GoalSeek Goal:=0, ChangingCell:=Range("p21")
    Range("q23").GoalSeek Goal:=0, ChangingCell:=Range("q21")
    Range("r23").GoalSeek Goal:=0, ChangingCell:=Range("r21")
    Range("s23").GoalSeek Goal:=0, ChangingCell:=Range("s21")
    Range("t23").GoalSeek Goal:=0, ChangingCell:=Range("t21")
    Range("u23").GoalSeek Goal:=0, ChangingCell:=Range("u21")
    Range("v23").GoalSeek Goal:=0, ChangingCell:=Range("v21")
    Range("w23").GoalSeek Goal:=0, ChangingCell:=Range("w21")
    Range("x23").GoalSeek Goal:=0, ChangingCell:=Range("x21")
    Range("y23").GoalSeek Goal:=0, ChangingCell:=Range("y21")
    Range("z23").GoalSeek Goal:=0, ChangingCell:=Range("z21")
    Range("AA23").GoalSeek Goal:=0, ChangingCell:=Range("AA21")
    Range("AB23").GoalSeek Goal:=0, ChangingCell:=Range("AB21")
    Range("AC23").GoalSeek Goal:=0, ChangingCell:=Range("AC21")
    Range("AD23").GoalSeek Goal:=0, ChangingCell:=Range("AD21")

End Sub
serafim09 вне форума Ответить с цитированием
Старый 12.10.2009, 18:03   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Раз цифирьки одинаковые, пробуйте через ASCII коды цикл замутить.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.10.2009, 18:12   #3
serafim09
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Раз цифирьки одинаковые, пробуйте через ASCII коды цикл замутить.
я не знаю о чем ты я новичок. Это сделал через запись макроса + потом его размножил на нужные мне ячейки
serafim09 вне форума Ответить с цитированием
Старый 12.10.2009, 19:02   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

может так?
Код:
Private Sub CommandButton1_Click()
    Range("G23:AD23").GoalSeek Goal:=0, ChangingCell:=Range("G21:AD21")
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.10.2009, 11:14   #5
serafim09
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
может так?
Код:
Private Sub CommandButton1_Click()
    Range("G23:AD23").GoalSeek Goal:=0, ChangingCell:=Range("G21:AD21")
End Sub
не сработал
serafim09 вне форума Ответить с цитированием
Старый 13.10.2009, 12:53   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я вообще не представляю что происходит с ячейками при выполнении данного кода, но если работал тот, то сработает и этот:
Код:
Private Sub CommandButton1_Click()
for c = 7 to 30
    cells(c,23).GoalSeek Goal:=0, ChangingCell:=cells(c,21)
next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.10.2009, 10:33   #7
serafim09
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
я вообще не представляю что происходит с ячейками при выполнении данного кода, но если работал тот, то сработает и этот:
Код:
Private Sub CommandButton1_Click()
for c = 7 to 30
    cells(c,23).GoalSeek Goal:=0, ChangingCell:=cells(c,21)
next
End Sub
Спасибо за старание, но пишет ошибку "неверная ссылка", я корректировал под себя, но ни как....

Это функция "подбора параметров".
serafim09 вне форума Ответить с цитированием
Старый 14.10.2009, 12:27   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте serafim09.
если конструкция которую Вы хотите "упростить" работоспособна, то конструкция которую предложил IgorGO, тоже должна быть работоспособна, после корректировки адресации:
Код:
For c = 7 To 30
    Cells(23, c).GoalSeek Goal:=0, ChangingCell:=Cells(21, c)
Next
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 14.10.2009, 14:34   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

да, уж...
невнимателен, как это мягче сказать - опечатался.
Teslenko_EA, спасибо.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.10.2009, 15:01   #10
serafim09
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте serafim09.
если конструкция которую Вы хотите "упростить" работоспособна, то конструкция которую предложил IgorGO, тоже должна быть работоспособна, после корректировки адресации:
Код:
For c = 7 To 30
    Cells(23, c).GoalSeek Goal:=0, ChangingCell:=Cells(21, c)
Next
Евгений.

Точно) Заработала) И всего одна строчка)
serafim09 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как упростить код, используя только массивы, циклы, разветвления и указатели? laxe Общие вопросы C/C++ 22 01.09.2009 09:16
помогите упростить простой макрос frantic150 Microsoft Office Excel 2 23.06.2009 04:55
проверьте плз код!можно ли его оптимизировать или упростить? -ushёl- Помощь студентам 10 23.04.2009 21:07
Помогите упростить код Ralf_ru Помощь студентам 7 01.04.2009 17:17
Помогите упростить с помощью VBA Dubineanschi Microsoft Office Excel 3 22.10.2008 14:21