Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1 2 След.
RSS
Быстрое выделение колонок с одинаковым названием
 
Добрый день, уважаемые!
Помогите пжл решить задачу: как в большой таблице быстро выделить все колонки с одинаковым названием. Например, только "Выручка" (см.прикрепленный отчет).
Изменено: AndaAnda - 3 июл 2020 12:10:58
 
Добрый и Вам.
Можно в отдельной ячейке сделать выпадающий список с условиями выделения и Условным форматированием красить столбцы.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
AndaAnda,если будет точно как в примере, достаточно цикла с покраской столбца (или просто выделением, если нужно копировать). Если нужно просто собрать данные - рекомендую попробовать Power Query, который преобразует эту таблицу в одномерную для сводной или дальнейшей обработки
Программный код, как и яды, лучше тестировать по капельке
Люблю изобретать велосипеды с колесами произвольной формы
 
Немного уточню. Быстрое выделение колонок с одинаковым названием нужно, например, чтобы также быстро, одним махом, удалить их или скопировать  
Изменено: AndaAnda - 3 июл 2020 12:31:50
 
AndaAnda, что Вы понимаете под выделением? Заливка цветом или именно выделение?
 
Именно выделение. Чтобы одним движением их удалить/скопировать/вырезать.  
 
Captain Nemo, вам нужен макрос обратного цикла по столбцам с удалением
Реквизиты для благодарности и контакты для связи — в профиле
 
Помогите пжл сделать такой макрос, кто умеет.
 
Цитата
Jack Famous написал:
вам нужен макрос обратного цикла по столбцам с удалением
А смысл, тут же просто одним махом удалил и все.
По вопросам из тем форума, личку не читаю.
 
Чтобы одним махом удалить какие-то колонки, надо сначала одним махом их выделить. В этом и вопрос: как это сделать.
 
Цитата
Captain Nemo: Помогите пжл сделать такой макрос, кто умеет
гуглите "удалить столбцы vba" - наример вот тут есть

БМВ,  :D
Изменено: Jack Famous - 3 июл 2020 13:55:01
Реквизиты для благодарности и контакты для связи — в профиле
 
Код
Sub deleteColumns()
    ColumnName = Cells(2, ActiveCell.Column)
    For Each Cell In Intersect(Rows(2), ActiveSheet.UsedRange)
        If Cell = ColumnName Then
            If IsEmpty(DeleteRange) Then
                Set DeleteRange = Cell
            Else
                Set DeleteRange = Union(DeleteRange, Cell)
            End If
        End If
    Next
    DeleteRange.EntireColumn.Delete
End Sub


Встать на любой столбец из тех что нужно удалить иииии
По вопросам из тем форума, личку не читаю.
 
Спасибо!
 
Прошу прощения, подскажите ещё плиз. Макрос я вставил. Встал в столбец. И... как дальше?  
Сорри, я не очень силён в макросах )
Изменено: Captain Nemo - 3 июл 2020 16:01:25
 
Дальше выполнить макросю
Кстати, учитывая это:
Цитата
Captain Nemo написал:
их удалить/скопировать/вырезать
с позволения медведя добавлю код запросом пользователю:
Код
Sub deleteColumns()
    ColumnName = Cells(2, ActiveCell.Column)
    For Each Cell In Intersect(Rows(2), ActiveSheet.UsedRange)
        If Cell = ColumnName Then
            If IsEmpty(DeleteRange) Then
                Set DeleteRange = Cell
            Else
                Set DeleteRange = Union(DeleteRange, Cell)
            End If
        End If
    Next
    DeleteRange.EntireColumn.Select
    If MsgBox("Удалить выделенные столбцы?", vbYesNo + 32) = vbYes Then
        DeleteRange.EntireColumn.Delete
    End If
End Sub
 
Цитата
Юрий М написал: Дальше выполнить макрос
Простите мою дремучесть: можете подробнее объяснить, что именно надо сделать?
 
Самый простой способ: нажимаем Alt+F8, выбираем макрос и жмём "Выполнить".
Ещё можно привязать макрос к кнопке или назначить сочетание клавиш для запуска.
Почитайте эту статью.
 
Цитата
Юрий М написал:
Дальше выполнить макросю
как ласково  :D
По вопросам из тем форума, личку не читаю.
 
:D  
 
В вашей таблице нет конца столбцам. Непонятно зачем копировать через столбец и куда-то это вставлять. Проще копировать всю таблицу.
Если нужно только удалить данные из выбранных столбцов и на листе размещать 1 месяц, ~60 столбцов, то можно сделать гиперссылку.
Код
=ГИПЕРССЫЛКА("#"&"C:C;E:E;G:G;I:I;K:K;M:M;O:O;Q:Q;S:S;U:U;W:W;Y:Y;AA:AA;AC:AC;AE:AE;AG:AG;AI:AI;AK:AK;AM:AM;AO:AO;AQ:AQ;AS:AS;AU:AU;AW:AW;AY:AY;BA:BA;BC:BC;BE:BE;BG:BG;BE:BE;BG:BG;BI:BI";"выручка")
См. пример.
Алексей М.
 
Цитата
Юрий М написал:
Дальше выполнить макросю
... по удалению колумнов :) (новояз - ага!)
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Цитата
Юрий М написал:
с позволения медведя добавлю код
... или просто остановиться на замене .Delete на .Select.
А дальше ТС уже сам решит, дЕлить (эээ... не путать с делИть), кОпить (эээ... не путать с копИть) или клеарконтентсить.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Вот стоило только коту из-за проблем со зрением нажать вместо тчоки соседнюю клавишу - набросились на бедного ))
 
Цитата
Юрий М написал:
вместо тчоки
так ты все время новое подкидываешь :-)
По вопросам из тем форума, личку не читаю.
 
Ну в этом случае чистая очепятка )
 
Цитата
БМВ написал:
Встать на любой столбец из тех что нужно удалить иииии
Код
Sub www()
With Rows(2)
.RowDifferences(.Find(ActiveCell.Value)).EntireColumn.Hidden = True
.SpecialCells(12).EntireColumn.Select 'delete
End With
Columns.Hidden = False
End Sub
 
k61, приветствую, Карен!
Не знал, что так можно - спасибо  :idea:
Матчасть
Реквизиты для благодарности и контакты для связи — в профиле
 
k61, Карен, не совсем согласен с кодом в области .Find(ActiveCell.Value) - но в целом метод применим с одним но, если ранее не было скрытых столбцов . Не люблю я портит то что пользователь сделал руками.
По вопросам из тем форума, личку не читаю.
 
Цитата
Jack Famous написал:
приветствую, Карен!
Привет всем!
Цитата
БМВ написал:
Не люблю я портит то что пользователь сделал руками
Не понял мысль.
 
Если до выполнения кода были скрыты столбцы, то после его выполнения это аннулируется.


Цитата
Jack Famous написал:
Матчасть
Алексей, мат часть  тут
Изменено: БМВ - 4 июл 2020 22:50:35
По вопросам из тем форума, личку не читаю.
Страницы: 1 2 След.
Читают тему (гостей: 1)
Наверх