Удаление столбцов

Автор ikalina, 18 мая 2018, 18:32

0 Пользователи и 1 гость просматривают эту тему.

ikalina

Добрый день уважаемые формучане. Пожалуйста, помогите облегчить мою участь. Часть моей работы заключается в обработке отчётов в формате xls, я открываю файл и удаляю заведомо известные столбцы которые не идут по порядку. Вопрос: Возможно ли автоматизировать удаление нескольких столбцов одним действием? Например: я открываю файл, вбиваю формулу или делаю другое действие, и выбираются столбцы A, B, F, Q, Z, FA, и т.п. после чего я их удаляю?

maksvlad

Макрос на кнопку спасёт отца русской демократии

ikalina

Цитата: maksvlad от 19 мая 2018, 16:39
Макрос на кнопку спасёт отца русской демократии
Прошу объяснить не для завстегдателей форума, так сказать чайников, буду благодарен:)
Так сказать на пальцах:(

bigor

#3
В ячейку a1 первого листа через запятую вводим столбцы, которые нужно удалить на втором листе. Жмем удалить столбцы, смотрим результат

ps цикл нужно "развернуть" for i=ubound(NRow) To 0 Step -1
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

ikalina

Спасибо, большое, протестирую.

ikalina

#5
Спасибо, Bigor за помощь, сделал мне макрос.
Если будет подобный мне ламер интерисоваться такой функцией. Вот макрос на удаление заведомо известных столбцов на странице:
Sub ColsRemove
oSheet = ThisComponent.Sheets(0)
'создаем массив удаляемых столбцов
NameR="A,B,d"
NRow=split(NameR,",")
'цикл по массиву
For i=ubound(NRow) To 0 Step -1
oRange = oSheet.getCellRangeByName("" & ltrim(NRow(i)) & "1")
oCol = oRange.getColumns()
'удаляем
oCol.removeByIndex(0, 1)
next
End Sub