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

Вход

Регистрация

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

 

= Мир MS Excel/Раскрасить одинаковые строки в списке в разные цвета - Мир MS Excel

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

Всех с наступившим Новым годом! hands

Подскажите пожалуйста, возможно ли автоматически расшкрашивать одинаковые строки в списке, но каждую пару в разный цвет? В примере всё наглядно, в столбце A, то, чего можно добиться, с помощью условного форматирования, в столбце B, то, чего хотелось бы добиться. Когда список огромен, большая проблема в нём сориентироваться, УФ в таком случае скорее даже мешается, т.к. получается всё одним цветом, следовательно целевая задача не выполняется.
К сообщению приложен файл: 546884.xlsx(9.5 Kb)
 
Ответить
СообщениеВсех с наступившим Новым годом! hands

Подскажите пожалуйста, возможно ли автоматически расшкрашивать одинаковые строки в списке, но каждую пару в разный цвет? В примере всё наглядно, в столбце A, то, чего можно добиться, с помощью условного форматирования, в столбце B, то, чего хотелось бы добиться. Когда список огромен, большая проблема в нём сориентироваться, УФ в таком случае скорее даже мешается, т.к. получается всё одним цветом, следовательно целевая задача не выполняется.

Автор - unk
Дата добавления - 03.01.2022 в 18:52
nilem Дата: Понедельник, 03.01.2022, 20:45 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1610
Репутация: 559 ±
Замечаний: 0% ±

Excel 2013, 2016
unk, привет
может, вот это подойдет?


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеunk, привет
может, вот это подойдет?

Автор - nilem
Дата добавления - 03.01.2022 в 20:45
unk Дата: Понедельник, 03.01.2022, 22:01 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

nilem,
Привет, весьма интересно, спасибо большое! Не могли бы объяснить, как настраивать под себя? Например, где задаётся отступ сверху? Или как сделать, чтобы использовался только один столбец как параметр?
 
Ответить
Сообщениеnilem,
Привет, весьма интересно, спасибо большое! Не могли бы объяснить, как настраивать под себя? Например, где задаётся отступ сверху? Или как сделать, чтобы использовался только один столбец как параметр?

Автор - unk
Дата добавления - 03.01.2022 в 22:01
nilem Дата: Вторник, 04.01.2022, 00:34 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1610
Репутация: 559 ±
Замечаний: 0% ±

Excel 2013, 2016
For i = 1 To UBound(x) - если есть строка заголовков, то со второй строки: For i = 2 To UBound(x)
s = x(i, 1) & "~" & x(i, 2) - если нужен только 1-й столбец, то s = x(i, 1) , если только 2-й, то s = x(i, 2)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеFor i = 1 To UBound(x) - если есть строка заголовков, то со второй строки: For i = 2 To UBound(x)
s = x(i, 1) & "~" & x(i, 2) - если нужен только 1-й столбец, то s = x(i, 1) , если только 2-й, то s = x(i, 2)

Автор - nilem
Дата добавления - 04.01.2022 в 00:34
unk Дата: Среда, 26.01.2022, 18:44 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

nilem,
Подскажите пожалуйста, как сделать, чтобы этот макрос действовал только на выделенный диапазон с включенным фильтром? Например выделил $B$7:$B$266 и раскрасил только видимые пары.

Так работает вот этот код для вставки в видимое:

[vba]
Код
Sub PasteToVisible()
    Dim copyrng As Range, pasterng As Range
    Dim cell As Range, i As Long
  
   'запрашиваем у пользователя по очереди диапазоны копирования и вставки
    Set copyrng = Application.InputBox("Диапазон копирования", "Запрос", Type:=8)
    Set pasterng = Application.InputBox("Диапазон вставки", "Запрос", Type:=8)
  
    'проверяем, чтобы они были одинакового размера
    If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <> copyrng.Cells.Count Then
        MsgBox "Диапазоны копирования и вставки разного размера!", vbCritical
        Exit Sub
    End If
  
    'переносим данные из одного диапазона в другой только в видимые ячейки
    i = 1
    For Each cell In pasterng
        If cell.EntireRow.Hidden = False Then
            cell.Value = copyrng.Cells(i).Value
            i = i + 1
        End If
    Next cell
End Sub
[/vba]
 
Ответить
Сообщениеnilem,
Подскажите пожалуйста, как сделать, чтобы этот макрос действовал только на выделенный диапазон с включенным фильтром? Например выделил $B$7:$B$266 и раскрасил только видимые пары.

Так работает вот этот код для вставки в видимое:

[vba]
Код
Sub PasteToVisible()
    Dim copyrng As Range, pasterng As Range
    Dim cell As Range, i As Long
  
   'запрашиваем у пользователя по очереди диапазоны копирования и вставки
    Set copyrng = Application.InputBox("Диапазон копирования", "Запрос", Type:=8)
    Set pasterng = Application.InputBox("Диапазон вставки", "Запрос", Type:=8)
  
    'проверяем, чтобы они были одинакового размера
    If pasterng.SpecialCells(xlCellTypeVisible).Cells.Count <> copyrng.Cells.Count Then
        MsgBox "Диапазоны копирования и вставки разного размера!", vbCritical
        Exit Sub
    End If
  
    'переносим данные из одного диапазона в другой только в видимые ячейки
    i = 1
    For Each cell In pasterng
        If cell.EntireRow.Hidden = False Then
            cell.Value = copyrng.Cells(i).Value
            i = i + 1
        End If
    Next cell
End Sub
[/vba]

Автор - unk
Дата добавления - 26.01.2022 в 18:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Раскрасить одинаковые строки в списке в разные цвета (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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