Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удаление диапазона со смещением вверх - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление диапазона со смещением вверх
Удаление диапазона со смещением вверх
Red_Garry Дата: Суббота, 26.02.2011, 14:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Никак не могу обойти ошибку 1004. Возникает при выполнении
If priznak = 0 Then Sheets(lis).Range(Cells(j, 1), Cells(j, 9)).Delete Shift:=xlShiftUp - почему то не нравится указанный Range!...

где lis строковая переменная, которая определена и равна имени существующего листа, j - вполне конкретный счётчик, priznak таки равен 0... Хоть плачь!

М.б. у кого-то хватит духу запустить макрос sinxron из прилагаемого файла? Ежели, к примеру, указанную инструкцию заменить на
If priznak = 0 Then Sheets(lis).Rows(j).Delete, то всё работает! Но мне не строку надо удалить, а указанный диапазон со смещением вверх

P.S. Макрос сравнивает записи с листа "isx" с записями по соответствующим 10 блокам (листы bl1....bl10). Если на листе "isx" они присутствуют, а на соответствующем блоке нет, то на блоковый лист запись добавляется. И наоборот, если в блоковых списках запись присутствует, а на главном листе таковой нет, то с листа блокового запись удаляется

К сообщению приложен файл: newprog.zip (72.7 Kb)
 
Ответить
СообщениеДобрый день!
Никак не могу обойти ошибку 1004. Возникает при выполнении
If priznak = 0 Then Sheets(lis).Range(Cells(j, 1), Cells(j, 9)).Delete Shift:=xlShiftUp - почему то не нравится указанный Range!...

где lis строковая переменная, которая определена и равна имени существующего листа, j - вполне конкретный счётчик, priznak таки равен 0... Хоть плачь!

М.б. у кого-то хватит духу запустить макрос sinxron из прилагаемого файла? Ежели, к примеру, указанную инструкцию заменить на
If priznak = 0 Then Sheets(lis).Rows(j).Delete, то всё работает! Но мне не строку надо удалить, а указанный диапазон со смещением вверх

P.S. Макрос сравнивает записи с листа "isx" с записями по соответствующим 10 блокам (листы bl1....bl10). Если на листе "isx" они присутствуют, а на соответствующем блоке нет, то на блоковый лист запись добавляется. И наоборот, если в блоковых списках запись присутствует, а на главном листе таковой нет, то с листа блокового запись удаляется


Автор - Red_Garry
Дата добавления - 26.02.2011 в 14:49
Саня Дата: Суббота, 26.02.2011, 16:56 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Code
If priznak = 0 Then Sheets(lis).Range(Cells(j, 1), Cells(j, 9)).Delete Shift:=xlShiftUp

Code
If priznak = 0 Then Range(Sheets(lis).Cells(j, 1), Sheets(lis).Cells(j, 9)).Delete Shift:=xlShiftUp
 
Ответить
Сообщение
Code
If priznak = 0 Then Sheets(lis).Range(Cells(j, 1), Cells(j, 9)).Delete Shift:=xlShiftUp

Code
If priznak = 0 Then Range(Sheets(lis).Cells(j, 1), Sheets(lis).Cells(j, 9)).Delete Shift:=xlShiftUp

Автор - Саня
Дата добавления - 26.02.2011 в 16:56
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление диапазона со смещением вверх
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!