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

Вход

Регистрация

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

 

= Мир MS Excel/Выбрать из области отмечанные ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбрать из области отмечанные ячейки (Макросы/Sub)
Выбрать из области отмечанные ячейки
olovar Дата: Пятница, 12.02.2016, 15:49 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте всем!
У меня встала по работе задача:
Есть таблица, которая может менять количество строк(несколько тысяч) и столбцов (несколько десятков).
Строки - это люди, Столбцы - это роли.
У одного человека может быть одна роль, у другого две или три. Роль ставится определенным символом (например, буквой V).
Необходимо выделить массив данных, выявить в нем заполненные ячейки, а пустые удалить. В итоге получить удобно читаемый вариант)))
Я пробовал следующим путем:
Записал макрос, где
первый шаг - F5 -> выделение группы ячеек -> пустые ячейки -> OK
второй шаг был - Главная -> удалить ячейки -> удаление со сдвигом влево.
Но данный вариант привел к тому, что галочки сдвинулись влево, а роли, которым они соответствовали остались на месте...

В примере все можно увидеть.
К сообщению приложен файл: 8023276.xlsm (13.4 Kb)
 
Ответить
СообщениеЗдравствуйте всем!
У меня встала по работе задача:
Есть таблица, которая может менять количество строк(несколько тысяч) и столбцов (несколько десятков).
Строки - это люди, Столбцы - это роли.
У одного человека может быть одна роль, у другого две или три. Роль ставится определенным символом (например, буквой V).
Необходимо выделить массив данных, выявить в нем заполненные ячейки, а пустые удалить. В итоге получить удобно читаемый вариант)))
Я пробовал следующим путем:
Записал макрос, где
первый шаг - F5 -> выделение группы ячеек -> пустые ячейки -> OK
второй шаг был - Главная -> удалить ячейки -> удаление со сдвигом влево.
Но данный вариант привел к тому, что галочки сдвинулись влево, а роли, которым они соответствовали остались на месте...

В примере все можно увидеть.

Автор - olovar
Дата добавления - 12.02.2016 в 15:49
buchlotnik Дата: Пятница, 12.02.2016, 15:57 | Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
olovar, покажите в файле, как вы представляете
Цитата
удобно читаемый вариант
 
Ответить
Сообщениеolovar, покажите в файле, как вы представляете
Цитата
удобно читаемый вариант

Автор - buchlotnik
Дата добавления - 12.02.2016 в 15:57
Udik Дата: Пятница, 12.02.2016, 16:28 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Единственное, что мне на ум приходит - завести допстолбец, куда через запятую собирать отмеченные роли. Столбец можно в основную вставить, или на отдельный лист. Это если у одного человека не слишком много ролей, хотя их можно обозначать в1, в2 и т.д.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеЕдинственное, что мне на ум приходит - завести допстолбец, куда через запятую собирать отмеченные роли. Столбец можно в основную вставить, или на отдельный лист. Это если у одного человека не слишком много ролей, хотя их можно обозначать в1, в2 и т.д.

Автор - Udik
Дата добавления - 12.02.2016 в 16:28
SLAVICK Дата: Пятница, 12.02.2016, 16:38 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Так что ли?
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$5:$I$5;1;ПОИСКПОЗ("яя";B6:I6));"")

Не не посмотрел на то что может быть больше одной.
Тогда почитайте тут
К сообщению приложен файл: 8628825.xlsm (14.7 Kb)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеТак что ли?
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$5:$I$5;1;ПОИСКПОЗ("яя";B6:I6));"")

Не не посмотрел на то что может быть больше одной.
Тогда почитайте тут

Автор - SLAVICK
Дата добавления - 12.02.2016 в 16:38
StoTisteg Дата: Пятница, 12.02.2016, 22:00 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
olovar, так чего Вы хотите-то? Таблицу, в которой не будет пустых строк и пустых столбцов или что именно?


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщениеolovar, так чего Вы хотите-то? Таблицу, в которой не будет пустых строк и пустых столбцов или что именно?

Автор - StoTisteg
Дата добавления - 12.02.2016 в 22:00
Pelena Дата: Пятница, 12.02.2016, 22:19 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19179
Репутация: 4419 ±
Замечаний: ±

Excel 365 & Mac Excel
Можно такой вариант попробовать:
1) Ctrl+F -- Найти V -- Найти все
2) в нижней части окна Найти и заменить появится список всех найденных ячеек с буквой V, выделить в этом списке первую строку, затем прокрутить вниз и, удерживая Shift, выделить последнюю строку. В итоге выделятся все ячейки с буквой V. Окно Найти и заменить закрыть.
3) нажать на клавиатуре = и кликнуть по ячейке с названием роли, которая соответствует активной ячейке (среди выделенных одна отличается белым цветом - это и есть активная). В Вашем примере это будет I5. Нажать F4, чтобы получить ссылку вида I$5, а затем нажать Ctrl+Enter. В итоге вместо V в ячейках будут названия ролей.
4) удалить пустые ячейки со сдвигом влево, как Вы описывали в первом посте
5) выделить результат и скопировать/вставить как значения. Потом можно удалить бывшую шапку таблицы
К сообщению приложен файл: 8023276-1-.xlsm (13.7 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожно такой вариант попробовать:
1) Ctrl+F -- Найти V -- Найти все
2) в нижней части окна Найти и заменить появится список всех найденных ячеек с буквой V, выделить в этом списке первую строку, затем прокрутить вниз и, удерживая Shift, выделить последнюю строку. В итоге выделятся все ячейки с буквой V. Окно Найти и заменить закрыть.
3) нажать на клавиатуре = и кликнуть по ячейке с названием роли, которая соответствует активной ячейке (среди выделенных одна отличается белым цветом - это и есть активная). В Вашем примере это будет I5. Нажать F4, чтобы получить ссылку вида I$5, а затем нажать Ctrl+Enter. В итоге вместо V в ячейках будут названия ролей.
4) удалить пустые ячейки со сдвигом влево, как Вы описывали в первом посте
5) выделить результат и скопировать/вставить как значения. Потом можно удалить бывшую шапку таблицы

Автор - Pelena
Дата добавления - 12.02.2016 в 22:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбрать из области отмечанные ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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