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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2011, 22:22   #1
Dog_DinGo
Пользователь
 
Аватар для Dog_DinGo
 
Регистрация: 16.02.2011
Сообщений: 36
По умолчанию Почему не работает макрос

Sub HZavtraki()
Dim i As Integer
For i = 6 To 100
If Cells(i, 6) = 0 And Cells(i, 10) = 0 Then Rows(i).Delete
Next i
End Sub
Dog_DinGo вне форума Ответить с цитированием
Старый 20.03.2011, 22:32   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

потому что если, например, в 6 строке ячейки 6 и 10 ячейки равны нулю, удаляется 6-я строка, все строки после 6-й получают новые номера, а Ваш цикл будет проверять следующим 7-й ряд (а изначально 7-й уже стал 6-м)
Excel выполняет то, что Вы написали, а не то, о чем Вы думаете.
пробуйте так:
For i = 100 To 6 step -1
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.03.2011, 23:06   #3
Dog_DinGo
Пользователь
 
Аватар для Dog_DinGo
 
Регистрация: 16.02.2011
Сообщений: 36
По умолчанию

Ок... та же проблема существует, когда я не удаляю, а скрываю строки...

и когда я ставлю Шаг -1, макрос вообще ноль эмоций... нет ошибки и не выполняет то, что от него требуется
Dog_DinGo вне форума Ответить с цитированием
Старый 20.03.2011, 23:09   #4
Dog_DinGo
Пользователь
 
Аватар для Dog_DinGo
 
Регистрация: 16.02.2011
Сообщений: 36
По умолчанию

Вру, он рукается на метод Range у меня в обоих случаях
Dog_DinGo вне форума Ответить с цитированием
Старый 20.03.2011, 23:11   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Дык, мож пример выложить? Чтоб не гадать, что у Вас не так?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 20.03.2011, 23:30   #6
Dog_DinGo
Пользователь
 
Аватар для Dog_DinGo
 
Регистрация: 16.02.2011
Сообщений: 36
По умолчанию

в модуле Tests
HZavtraki
Вложения
Тип файла: rar ОТЧЁТ_SN.rar (76.1 Кб, 12 просмотров)
Dog_DinGo вне форума Ответить с цитированием
Старый 20.03.2011, 23:42   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Дык, защиту листа снять "123" и заработает.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 20.03.2011, 23:55   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Sub HZavtraki()
    Dim i As Integer
    Sheets("ЗАВТРАКИ").Unprotect ("123")
    Rows("6:100").Hidden = False
    For i = 100 To 6 Step -1
        If Cells(i, 6) = "" And Cells(i, 10) = "" Then Rows(i).Hidden = True    'Delete
    Next i
    Sheets("ЗАВТРАКИ").Protect ("123")
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 20.03.2011, 23:57   #9
Dog_DinGo
Пользователь
 
Аватар для Dog_DinGo
 
Регистрация: 16.02.2011
Сообщений: 36
По умолчанию

Спасибо большое...
что-то я затупил на счёт защиты....
Dog_DinGo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 12:04
Почему функция, а не макрос define? ertyuo Общие вопросы C/C++ 6 08.01.2010 02:27
Почему не работает простейший макрос? zander Microsoft Office Excel 5 05.02.2009 20:58
Почему макрос не определяет ячейку? valerij Microsoft Office Excel 3 18.09.2008 00:17