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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 10:35   #1
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию 2 ошибки в макросе, в чем причина?

Здравствуйте, уважаемые программисты.
Помогите пжлста разобраться, почему не работает макрос.
Две проблемы в макросе «База2» (он смотрит на лист 1, сравнивает значения в последнем столбце со значением в предпоследнем и если оно больше чем заданное значение, выводит в один список, если нет – в другой):
1. Постоянно ругается на строку If chN > [J1] / 100 Or chN = [J1] / 100 Then, что-то не так с типом данных.
2. Не могу понять, почему не работает сортировка. Хочу отсортировать данные для диапазона столбцов I-L по столбцу L по возрастанию, и отдельно для диапазона столбцов N-Q по столбцу Q по возрастанию…
Макрос «База1» делает примерно то же самое, но там все ок.
Спасибо.
Вложения
Тип файла: rar База.rar (82.2 Кб, 12 просмотров)
robbe вне форума Ответить с цитированием
Старый 15.02.2010, 11:00   #2
Vasuha
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 10
По умолчанию

[J1] - берете не с того листа, как понимаю нужно брать его со второго. Вроде этого : Sheets(2).[J1]
Vasuha вне форума Ответить с цитированием
Старый 15.02.2010, 11:02   #3
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Цитата:
1. Постоянно ругается на строку If chN > [J1] / 100 Or chN = [J1] / 100 Then, что-то не так с типом данных
Замените
If chN > [J1] / 100 Or chN = [J1] / 100 Then
на
If chN >= sb.Cells(1, 10) / 100 Then
(у Вас данные берутся с листа wb, а там в J1 ничего нет

По второму вопросу не могу ничего внятного подсказать, так как сортировкой не пользовался
Maxx вне форума Ответить с цитированием
Старый 15.02.2010, 11:07   #4
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию

)) и правда... Спасибо. Сама я уже что только не делала. И как я листы не заметила.
А с сортировкой кто-нибудь может помочь? Просто у меня в макросе База1 тоже есть сортировка по двум значениям. И она прекрасно работает. А для макроса "База2" - нет. Как так может быть?
robbe вне форума Ответить с цитированием
Старый 15.02.2010, 14:03   #5
robbe
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 28
По умолчанию

получилось сделать так:
Код HTML:
    sb.Range("I5:L3000").Select
    Selection.Sort Key1:=Range("L5"), Order1:=xlAscending
    
    sb.Range("N5:Q3000").Select
    Selection.Sort Key1:=Range("Q5"), Order1:=xlAscending
robbe вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Причина поломки ИБП mutabor Компьютерное железо 22 30.10.2013 21:48
Вопрос про setcookie, не ясна причина ошибки. LuckyC0de PHP 1 14.12.2009 18:24
Если программа не отвечает, как определить в чем причина. LSergM Win Api 2 24.11.2009 17:46
поможете с Паскалем?(можете посмотреть в чем ошибки???) aiktz Помощь студентам 2 17.04.2009 14:10
Err207 непонятна причина Jaaq Паскаль, Turbo Pascal, PascalABC.NET 10 15.04.2009 14:48