Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Удалить колонки в Excel c 1C          
Skodnik Подменю пользователя
сообщение 25.03.13, 11:10
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Добрый день, форумчане!
То ли погода дает о себе знать, то ли еще не проснулся. Необходимо в обработке, при открытии Ексель-файла удалить первые 4 столбца:
 РабочаяКнига=ExcelApp.Workbooks.Open(СокрЛП(ВыбФайл)); 
Страница  = РабочаяКнига.Worksheets(1);
Страница.Range("A:D").Delete(-4159);  //не удаляется



-=VJ=- Подменю пользователя
сообщение 25.03.13, 11:21
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

А зачем там "(-4159)"?
И зачем Range? Удаляйте Columns.

Сообщение отредактировал -=VJ=- - 25.03.13, 11:22


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Skodnik Подменю пользователя
сообщение 25.03.13, 11:32
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(-=VJ=- @ 25.03.13, 11:21) *
А зачем там "(-4159)"?
И зачем Range? Удаляйте Columns.

Записал макрос в Екселе, по удалению строк
Columns("A:D").Select
Selection.Delete Shift:=xlToLeft


так вот
Delete Shift:=xlToLeft
аналог
 Delete(-4159)


Vofka Подменю пользователя
сообщение 25.03.13, 11:40
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

А можно узнать цель?

Skodnik Подменю пользователя
сообщение 25.03.13, 11:46
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Vofka @ 25.03.13, 11:40) *
А можно узнать цель?

Со сторонней программы выгружаются данные в Ексель файл.
В обработке 1С четко указано с какой колонки брать данные. Обрабатывается порядка 20 колонок.
Форма Ексель файла с данными поменялась, добавилось вначале 4 колонки, вот чтоб не менять номера колонок по обработке, думаю проще удалить эти 4 столбца.

-=VJ=- Подменю пользователя
сообщение 25.03.13, 11:47
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(Skodnik @ 25.03.13, 11:32) *
Записал макрос в Екселе, по удалению строк


xlToLeft - это не удаление строк, это именно удаление диапазона, после которого оставшиеся ячейки необходимо сдвинуть (xlToLeft можно вообще не употреблять, они по умолчанию двигаются влево).
Для колонок это всё необязательно.
Columns(i).Delete в цикле и всё.

Сообщение отредактировал -=VJ=- - 25.03.13, 11:48


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Skodnik Подменю пользователя
сообщение 25.03.13, 11:56
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(-=VJ=- @ 25.03.13, 11:47) *
xlToLeft - это не удаление строк, это именно удаление диапазона, после которого ячейки можно сдвинуть либо влево(xlToLeft), либо вверх.
Для колонок это всё необязательно.
Columns(i).Delete в цикле и всё.

Мне и надо удалить диапазон с 4 колонок:"A" "B" "C" "D" и сдвинуть ячейки в лево
Пример:

Vofka Подменю пользователя
сообщение 25.03.13, 12:02
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(Skodnik @ 25.03.13, 11:46) *
вот чтоб не менять номера колонок по обработке, думаю проще удалить эти 4 столбца.

Лично я считаю, что проще и правильнее поменять номера колонок. Но кто же ищет легкий путь. smile.gif

Flexy Подменю пользователя
сообщение 25.03.13, 12:08
Сообщение #9

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

А так:
ХлТуЛэфт = Число(-4159);
Columns("A:D").Select
Selection.Delete Shift:=ХлТуЛэфт


Сообщение отредактировал Flexy - 25.03.13, 12:09

-=VJ=- Подменю пользователя
сообщение 25.03.13, 12:11
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(Skodnik @ 25.03.13, 11:56) *
Мне и надо удалить диапазон

Цитата(Skodnik @ 25.03.13, 11:56) *
удалить первые 4 столбца


Определитесь тогда сначала, что Вам нужно удалять - диапазон или столбцы.

Цитата(Vofka @ 25.03.13, 12:02) *
Лично я считаю, что проще и правильнее поменять номера колонок. Но кто же ищет легкий путь. smile.gif


правильнее и проще первым ячейкам колонок давать названия и потом искать по названию, а не по номеру - тогда сколько ни добавляй, всё равно будет работать.

но легкие пути - таки да smile.gif


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Skodnik Подменю пользователя
сообщение 25.03.13, 12:53
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(Flexy @ 25.03.13, 12:08) *
А так:
ХлТуЛэфт = Число(-4159);
Columns("A:D").Select
Selection.Delete Shift:=ХлТуЛэфт

Не получиться!

Цитата(-=VJ=- @ 25.03.13, 12:11) *
Определитесь тогда сначала, что Вам нужно удалять - диапазон или столбцы.

Удалить то надо столбцы.

Цитата(-=VJ=- @ 25.03.13, 12:11) *
правильнее и проще первым ячейкам колонок давать названия и потом искать по названию, а не по номеру - тогда сколько ни добавляй, всё равно будет работать.

но легкие пути - таки да smile.gif

Названия колонкам не давали, писал ведь что выгрузка происходит со сторонней программы и поменять шаблон выгрузки в ексель я не могу.

-=VJ=- Подменю пользователя
сообщение 25.03.13, 13:05
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(Skodnik @ 25.03.13, 12:53) *
Удалить то надо столбцы.


Целиком? Сверху донизу? Или всё же вертикальный диапазон?


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: Skodnik,

Skodnik Подменю пользователя
сообщение 25.03.13, 13:09
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(-=VJ=- @ 25.03.13, 13:05) *
Целиком? Сверху донизу? Или всё же вертикальный диапазон?

Целиком удалить 4 первых столбца от первой строчки до последней, я пример на картинке показал как надо. icon_beer17.gif

Skodnik Подменю пользователя
сообщение 25.03.13, 14:22
Сообщение #14

Общительный
**
Группа: Пользователи
Сообщений: 49
Из: Ukraine
Спасибо сказали: 2 раз
Рейтинг: 0

Так вот работает. VJ во втором посте подсказывал. faceoff.gif
РабочаяКнига = ExcelApp.Workbooks.Open(СокрЛП(ВыбФайл)); 
Страница  = РабочаяКнига.Worksheets(1);
Страница.Columns("A:D").Delete(-4159);

Vofka Подменю пользователя
сообщение 25.03.13, 14:45
Сообщение #15

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(Skodnik @ 25.03.13, 14:22) *
VJ во втором посте подсказывал.

А где же плюс VJ-ю?

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 06.05.24, 2:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!