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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2014, 20:43   #1
TimeStopper
Пользователь
 
Регистрация: 11.09.2012
Сообщений: 44
По умолчанию Помогите найти ошибку в скрипте

Вроде бы раньше работало, но сейчас не пашет. Может потому что перешел на новый офис, а может я что-то все таки путаю.
Код:
' проставляем Н и В
For i = 3 To lRow Step 2
        If InStr(1, Sheets(Sh.Name).Cells(i, 6), "/") <> 0 And InStr(1, Sheets(CInt(Sh.Name) + 1).Cells(i, 6), "/") <> 0 Then
            Sheets(Sh.Name).Cells(i, 12) = "В"
            Sheets(CInt(Sh.Name) + 1).Cells(i, 11) = "Н"
        Else
            Sheets(Sh.Name).Cells(i, 12) = ""
            Sheets(CInt(Sh.Name) + 1).Cells(i, 11) = ""
        End If
    Next
Если коротко:
1. На страницах Х и Х+1 в определённой строке проверяется наличие знака "/".
2. Если условие выполняется на обоих страницах, то на странице Х+1, надо в определенной ячейке проставить знак "Н", а на странице X надо проставить знак "В".

Сейчас происходит следующее: если на странице есть "/", то на ней же он проставляет и "Н" и "В". Я так понимаю, что ошибка где то в Sheets(CInt(Sh.Name) + 1) ?

Последний раз редактировалось Stilet; 10.08.2014 в 22:03.
TimeStopper вне форума Ответить с цитированием
Старый 10.08.2014, 22:28   #2
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

если ранее работало, то наименования листов состояли из последовательных номеров ...
Код:
Sh.Next.Cells(i, 6) ...  ' вместо Sheets(CInt(Sh.Name) + 1).Cells(i, 6)
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 10.08.2014, 23:23   #3
TimeStopper
Пользователь
 
Регистрация: 11.09.2012
Сообщений: 44
По умолчанию

Дело в том, что есть набор рабочих листов у которых названия: 1, 2, 3...а есть доп. листы, их не надо обрабатывать.
TimeStopper вне форума Ответить с цитированием
Старый 10.08.2014, 23:34   #4
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Тогда перед обращением преобразовывайте в строку:
Код:
Sheets(CStr(CInt(Sh.Name) + 1))...
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 11.08.2014, 06:31   #5
TimeStopper
Пользователь
 
Регистрация: 11.09.2012
Сообщений: 44
По умолчанию

Спасибо заработало!
TimeStopper вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найди ошибку в скрипте (сайта) Влад 232 PHP 2 20.06.2014 00:57
Помогите найти ошибку в скрипте tocsik PHP 2 31.05.2014 09:07
Помогите найти ошибку - StrToFloat выдаёт ошибку EConvertError для ячеек StringGrid (Delphi) Artsiom Помощь студентам 10 18.12.2013 14:10
Не могу найти ошибку в скрипте WarAngel.alk PHP 10 23.09.2011 18:40
Не могу найти ошибку в скрипте авторизации Revival001 PHP 8 26.06.2009 10:57