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

Вход

Регистрация

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

 

= Мир MS Excel/Выполнение очистки диапазона с ошибкой - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выполнение очистки диапазона с ошибкой (Макросы/Sub)
Выполнение очистки диапазона с ошибкой
ssm Дата: Понедельник, 15.06.2020, 07:32 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день,

Есть вопрос, существует макрос рабочий, и перед заполнение листа из макроса данными, необходимо очистить диапазон. Суть вопроса, если вписать в макрос эти строки то работает на ура:
[vba]
Код
Sheets(1).Range("A11:CH10000").ClearContents
[/vba]

а если эти строки то срабатывает не всегда:
[vba]
Код
Sheets(1).Range(Cells(11, 1), Cells(10000, p)).ClearContents
[/vba]

где p определяем в этой строке:
[vba]
Код
p = Sheets(1).Cells(9, Columns.Count).End(xlToLeft).Column
[/vba]
Почему так ненадежен второй метод?


Сообщение отредактировал ssm - Понедельник, 15.06.2020, 17:28
 
Ответить
СообщениеДобрый день,

Есть вопрос, существует макрос рабочий, и перед заполнение листа из макроса данными, необходимо очистить диапазон. Суть вопроса, если вписать в макрос эти строки то работает на ура:
[vba]
Код
Sheets(1).Range("A11:CH10000").ClearContents
[/vba]

а если эти строки то срабатывает не всегда:
[vba]
Код
Sheets(1).Range(Cells(11, 1), Cells(10000, p)).ClearContents
[/vba]

где p определяем в этой строке:
[vba]
Код
p = Sheets(1).Cells(9, Columns.Count).End(xlToLeft).Column
[/vba]
Почему так ненадежен второй метод?

Автор - ssm
Дата добавления - 15.06.2020 в 07:32
Апострофф Дата: Понедельник, 15.06.2020, 08:28 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 260
Репутация: 81 ±
Замечаний: 0% ±

Excel 1997
а если эти строки то срабатывает не всегда:
[vba]
Код
Sheets(1).Range(Cells(11, 1), Cells(10000, p)).ClearContents
[/vba]

потому что Cells(11, 1) - это ячейка активного листа или того листа, в котором находится данный код.
Вовсе не факт, что это Sheets(1)!
А вот так должно работать-
[vba]
Код
Range(Sheets(1).Cells(11, 1), Sheets(1).Cells(10000, p)).ClearContents
[/vba]
 
Ответить
Сообщение
а если эти строки то срабатывает не всегда:
[vba]
Код
Sheets(1).Range(Cells(11, 1), Cells(10000, p)).ClearContents
[/vba]

потому что Cells(11, 1) - это ячейка активного листа или того листа, в котором находится данный код.
Вовсе не факт, что это Sheets(1)!
А вот так должно работать-
[vba]
Код
Range(Sheets(1).Cells(11, 1), Sheets(1).Cells(10000, p)).ClearContents
[/vba]

Автор - Апострофф
Дата добавления - 15.06.2020 в 08:28
Pelena Дата: Понедельник, 15.06.2020, 08:44 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16052
Репутация: 3489 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
ssm, строчки кода тегами с помощью кнопки # в режиме правки поста. И название темы должно отражать суть задачи. Исправьте


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщениеssm, строчки кода тегами с помощью кнопки # в режиме правки поста. И название темы должно отражать суть задачи. Исправьте

Автор - Pelena
Дата добавления - 15.06.2020 в 08:44
ssm Дата: Понедельник, 15.06.2020, 17:31 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Апострофф, спасибо, приму к сведению.
 
Ответить
СообщениеАпострофф, спасибо, приму к сведению.

Автор - ssm
Дата добавления - 15.06.2020 в 17:31
ssm Дата: Понедельник, 15.06.2020, 17:33 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Pelena, поправил, учту на будущее
 
Ответить
СообщениеPelena, поправил, учту на будущее

Автор - ssm
Дата добавления - 15.06.2020 в 17:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выполнение очистки диапазона с ошибкой (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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