Ребята есть умная таблица, которая фильтруется выбором текстовых данных. Необходимо произвести заливку открытых строк (кодом), также при необходимости снять заливку открытых строк. Но заливка происходит спонтанно то заливает открытые строки, то заливает как открытые строки, так и закрытые строки, то есть полностью всю таблицу. Как сделать так, чтобы заливка и снятие заливки работало на открытые или видимые строки таблицы?
Здравствуйте!
Ребята есть умная таблица, которая фильтруется выбором текстовых данных. Необходимо произвести заливку открытых строк (кодом), также при необходимости снять заливку открытых строк. Но заливка происходит спонтанно то заливает открытые строки, то заливает как открытые строки, так и закрытые строки, то есть полностью всю таблицу. Как сделать так, чтобы заливка и снятие заливки работало на открытые или видимые строки таблицы?Сергей13
Sub фильтр() If Application.Subtotal(3, Range("a1:a1000")) < Application.CountA(Range("a1:a1000")) Then Range("tabl_logbook").Select Selection.Interior.ColorIndex = 20 Else Range("tabl_logbook").Interior.Color = xlNone End If End Sub
[/vba]
Здравствуйте. Вариант в файле [vba]
Код
Sub фильтр() If Application.Subtotal(3, Range("a1:a1000")) < Application.CountA(Range("a1:a1000")) Then Range("tabl_logbook").Select Selection.Interior.ColorIndex = 20 Else Range("tabl_logbook").Interior.Color = xlNone End If End Sub
gling, Спасибо, но немного не то… Функция кнопок фильтрации на листе «log_book», это только фильтрация и сброс фильтрации и не более того. Функция кнопок на листе «Управление_заливкой» это только заливка и сброс заливки и не что иное. Алгоритм действия такой. Необходимо на листе «log_book» произвести любую предложенную тестовую фильтрацию, затем на листе «Управление заливкой», произвести заливку отфильтрованных строк (видимых строк). Таким же способом и снимать заливку.
gling, Спасибо, но немного не то… Функция кнопок фильтрации на листе «log_book», это только фильтрация и сброс фильтрации и не более того. Функция кнопок на листе «Управление_заливкой» это только заливка и сброс заливки и не что иное. Алгоритм действия такой. Необходимо на листе «log_book» произвести любую предложенную тестовую фильтрацию, затем на листе «Управление заливкой», произвести заливку отфильтрованных строк (видимых строк). Таким же способом и снимать заливку.Сергей13
krosav4ig, еще такой момент, данный код при снятие заливки на границы ячеек не влияет? Почему-то при вводе данных не отображаются вертикальные границы строк умной таблицы…
krosav4ig, еще такой момент, данный код при снятие заливки на границы ячеек не влияет? Почему-то при вводе данных не отображаются вертикальные границы строк умной таблицы…Сергей13
Сергей13, У вас к таблице применен стиль Светлый1, в нем нет границ между столбцами и строками. Для того, чтобы они были, примените стиль Светлый15 или создайте свой
Сергей13, У вас к таблице применен стиль Светлый1, в нем нет границ между столбцами и строками. Для того, чтобы они были, примените стиль Светлый15 или создайте свойkrosav4ig
krosav4ig, Тут такой момент если скрыт столбец умной таблицы (а у меня в рабочем файле скрыт столбец), то после применения кода снять заливку происходит такая вещь. На скрине показано ввод текста «Тест1» до снятия заливки кодом и ввод текста «Тест2» после снятия заливки кодом. В итоге после снятия заливки кодом, пропадают вертикальные границы строк во время ввода. И это в том случае если скрыт столбец и применен код снятие заливки. Вот такая беда причем тут связь со снятием заливки не ясно…
krosav4ig, Тут такой момент если скрыт столбец умной таблицы (а у меня в рабочем файле скрыт столбец), то после применения кода снять заливку происходит такая вещь. На скрине показано ввод текста «Тест1» до снятия заливки кодом и ввод текста «Тест2» после снятия заливки кодом. В итоге после снятия заливки кодом, пропадают вертикальные границы строк во время ввода. И это в том случае если скрыт столбец и применен код снятие заливки. Вот такая беда причем тут связь со снятием заливки не ясно…Сергей13
krosav4ig, А можно как-то установить в коде диапазон заливки умной таблицы от столбца A8 до столбца К8, включительно, дабы не входить кодом в скрытый диапазон столбца таблицы? Я предполагаю, что заливка и последующее снятие заливки в скрытом столбце выдает такое влияние на вертикальные границы.
krosav4ig, А можно как-то установить в коде диапазон заливки умной таблицы от столбца A8 до столбца К8, включительно, дабы не входить кодом в скрытый диапазон столбца таблицы? Я предполагаю, что заливка и последующее снятие заливки в скрытом столбце выдает такое влияние на вертикальные границы.Сергей13
Сообщение отредактировал Сергей13 - Пятница, 22.03.2019, 21:35
как-то установить в коде диапазон заливки умной таблицы от столбца A1 до столбца К8
[vba]
Код
Sub Zalivka() 'Заливка Set ShSales = ThisWorkbook.Worksheets("log_book") 'Лист "log_book" With ShSales.Range("tabl_logbook") Intersect(.Columns("A:K"), .Cells).SpecialCells(12).Interior.Color = 15921906 'Заливка открытых строк End With End Sub
Sub NoZalivka() 'Нет заливки Set ShSales = ThisWorkbook.Worksheets("log_book") 'Лист "log_book" With ShSales.Range("tabl_logbook") Intersect(.Columns("A:K"), .Cells).SpecialCells(12).Interior.Color = xlNone 'Снять заливку открытых строк End With End Sub
как-то установить в коде диапазон заливки умной таблицы от столбца A1 до столбца К8
[vba]
Код
Sub Zalivka() 'Заливка Set ShSales = ThisWorkbook.Worksheets("log_book") 'Лист "log_book" With ShSales.Range("tabl_logbook") Intersect(.Columns("A:K"), .Cells).SpecialCells(12).Interior.Color = 15921906 'Заливка открытых строк End With End Sub
Sub NoZalivka() 'Нет заливки Set ShSales = ThisWorkbook.Worksheets("log_book") 'Лист "log_book" With ShSales.Range("tabl_logbook") Intersect(.Columns("A:K"), .Cells).SpecialCells(12).Interior.Color = xlNone 'Снять заливку открытых строк End With End Sub
В тестовом примере скрыт столбец умной таблицы F (так необходимо, так задумано) Для тестирования: 1. Введите несколько значений в строку таблицы столбца A (обратите на начальный формат вертикальных границ) 2. Затем произведите клик по кнопке снять заливку. 3. Продолжайте ввод в столбце А (обратите на формат вертикальных границ таблицы они не отображаются).
В тестовом примере скрыт столбец умной таблицы F (так необходимо, так задумано) Для тестирования: 1. Введите несколько значений в строку таблицы столбца A (обратите на начальный формат вертикальных границ) 2. Затем произведите клик по кнопке снять заливку. 3. Продолжайте ввод в столбце А (обратите на формат вертикальных границ таблицы они не отображаются).Сергей13