Удалить диапазон ячеек в Excel через 1с #786772


#0 by marshalbratsk
Как удалить диапазон строк Excel? Пытаюсь так - не работает Для i=0 по КоличествоСтрок-1 Цикл ("A"+a+":"+"A"+b) в отладчике показывает как (A15:A15000) т.е. правильно
#1 by marshalbratsk
Ошибка при вызове метода контекста (Rows) sheet.Rows("A"+a+":"+"A"+b).Delete;
#2 by marshalbratsk
с range вместо rows тоже не работает
#3 by Vladal
Попробуй так: начни запись макроса, удали нужные ячейки, останови запись макроса. Потом по Alt-F11 перейди в модуль с макросом и посмотри синтаксис команд.
#4 by Vladal
И удалить именно строки, а не значения этих строк? Раньше получалось так: А может, Delete без скобок надо? Попробуй свой пример без скобок.
#5 by Vladal
Мне макрос выдал такое: selection.delete shift:=xlUp
#6 by Vladal
о. тему на Мисте нашел:
#7 by marshalbratsk
Range("A17102:A17201").Select     Selection.EntireRow.Delete Вот, что выдал VBA Без скобок нельзя {Обработка.bzfВыгрузкаМеждународнойОтчетности.Форма.Форма.Форма(3349,25)}: Неопознанный оператор         sheet.range(ab).Select<<?>>; (Проверка: Толстый клиент (обычное приложение)) {Обработка.bzfВыгрузкаМеждународнойОтчетности.Форма.Форма.Форма(3350,35)}: Неопознанный оператор         sheet.selection.EntireRow.delete<<?>>; (Проверка: Толстый клиент (обычное приложение)) Если вбивать значения напрямую, без переменных, то работает, но мне надо через переменные         a=ТЗ[КоличествоСтрок-2-c].Индекс1+2; Так пытаюсь - не работает Произошла исключительная ситуация (0x800a03ec)
#8 by marshalbratsk
Строку определяет
#9 by marshalbratsk
ФЫШВОФДЫВРОФЫРВЛОЫФВОЫРФВЛЫв писал с пробелами Сначала не обратил внимания, потом, когда отправил - увидел
#10 by marshalbratsk
Всем спасибо, всего хорошего
#11 by Vladal
Да. Точно. Формат числа без разделителей надо использовать. В семерке это было естественным, а восьмерка преобразует число в строку с разделителем, если не указать иначе.
#12 by marshalbratsk
А ещё через Selection не хочет удалять, ругается, писал напрямую Sheet.Range(ab).Delete;
#13 by marshalbratsk
И так он тоже не удалял Короче, чтобы удалить диапазон строк нужно писать следующее Sheet.Range("Диапазон строк").EntireRow.Delete;
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С