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

Вход

Регистрация

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

 

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

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

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

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

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

Автор - olovar
Дата добавления - 12.02.2016 в 15:49
buchlotnik Дата: Пятница, 12.02.2016, 15:57 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

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


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
Сообщениеolovar, покажите в файле, как вы представляете
Цитата
удобно читаемый вариант

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

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


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

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

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

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


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

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

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

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


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
Сообщениеolovar, так чего Вы хотите-то? Таблицу, в которой не будет пустых строк и пустых столбцов или что именно?

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

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


"Черт возьми, Холмс! Но как??!!"
ЯД 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 из 11
Поиск:

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