Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

18 Август 2019, 08:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Макрос для удаления ячеек с ненужными значениями  (Прочитано 2013 раз)
0 Пользователей и 1 Гость смотрят эту тему.
artur1234567
Новичок
*
Offline Offline

Сообщений: 3


« Стартовое сообщение: 11 Октябрь 2016, 11:24 »

Добрый день.
Нужен макрос, который будет удалять строки, если в столбце M нет ниодного совпадения с значениями столбца A
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 11 Октябрь 2016, 12:37 »

Добро пожаловать на форум, Артур!
Давай-ка уточним условие задачи...
И столбец M, и столбец A - оба находятся на одном листе, так? Значит, после каждого удаления какой-то строки, в столбце А будет оставаться меньше значений для сравнения, так? И значит, столбец M нужно еще раз проверить на наличие в А?
Ну, вот, например:
А       В     ... М ...
1 0...что-то...... 1 ...
2 2...что-то...... 3 ...
3 1...что-то...... 2 ...
4 3...что-то...... 4 ...
Какая из строк должна остаться в конце концов?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
artur1234567
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #2: 11 Октябрь 2016, 12:44 »

Добро пожаловать на форум, Артур!
Давай-ка уточним условие задачи...
И столбец M, и столбец A - оба находятся на одном листе, так? Значит, после каждого удаления какой-то строки, в столбце А будет оставаться меньше значений для сравнения, так? И значит, столбец M нужно еще раз проверить на наличие в А?
Ну, вот, например:
А       В     ... М ...
1 0...что-то...... 1 ...
2 2...что-то...... 3 ...
3 1...что-то...... 2 ...
4 3...что-то...... 4 ...
Какая из строк должна остаться в конце концов?
Есть 2 столбца с артикулами, столбец А содержит 4600 ячеек с артикулами, столбец М содержит 442 ячеек с артикулами
В результате мне нужно получить, чтобы в столбце м остались только те артикулы, которые есть в столбце А
Если как-то будет конфликтовать, столбец А могу и на другой лист перенести
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 739


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #3: 11 Октябрь 2016, 13:00 »

Есть 2 столбца с артикулами, столбец А содержит 4600 ячеек с артикулами, столбец М содержит 442 ячеек с артикулами
В результате мне нужно получить, чтобы в столбце м остались только те артикулы, которые есть в столбце А
Если как-то будет конфликтовать, столбец А могу и на другой лист перенести
Понятней не стало Грустный
Вы говорите о столбцах A и B, а между ними есть данные? Что с ними делать?
Выложите образец документа, можно с 20-30 строками.
Записан

artur1234567
Новичок
*
Offline Offline

Сообщений: 3


« Ответ #4: 11 Октябрь 2016, 13:03 »

делать
Выложить не могу
Между столбцами есть данные в строках, нужно чтобы строки удалялись целиком, если данные ячейки столбца M не совпадают нисодним из значений ячеек столбца А
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 739


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #5: 11 Октябрь 2016, 13:20 »

Между столбцами есть данные в строках, нужно чтобы строки удалялись целиком, если данные ячейки столбца M не совпадают нисодним из значений ячеек столбца А
А если нормально сформулировать задачу, то "нужно оставить те строки для которых в столбце M есть соответствие в столбце A"

Если так, то задача решается фильтром в три клика:
1. вызов фильтра (Расширенный)
2. ссылка на столбец A
3. ячейка куда записать результат
Всё. Без макросов.
Записан

economist
Форумчанин
***
Offline Offline

Сообщений: 980


« Ответ #6: 12 Октябрь 2016, 09:43 »

Если задача регулярная (раз в месяц и чаще), иногда нужен анализ, а данные вносятся не вручную - стоит подумать над переносом учета в базу данных (OpenOffice и LibreOffice BASE + SQLite, например). В базах данных - подобная задача решается одним SQL-запросом или даже автоматически, триггером, молниеносно. Плюс можно решить кучу других проблем - например, авто-отлавливать появление "левого" артикула в M, если его нет в A. 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!