Перейти до основного матеріалу

Як надрукувати всі правила умовного форматування на аркуші?

Переглянути всі правила умовного форматування на аркуші легко, натиснувши Головна > Умовне форматування > Управління правилами в Excel, але чи знаєте ви, як роздрукувати всі правила форматування умов на цьому аркуші? Ця стаття представить VBA для вирішення цієї проблеми.

Надрукуйте всі правила умовного форматування на аркуші


стрілка синя права міхурНадрукуйте всі правила умовного форматування на аркуші

Виконайте кроки нижче, щоб роздрукувати всі правила умовного форматування на аркуші VBA.

1. Відкрийте вказаний робочий аркуш, правила умовного форматування якого ви надрукуєте, і натисніть інший + F11 клавіші разом, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Клацання Insert > Модулі, а потім вставте нижче коду VBA у нове вікно модуля.

VBA: Перелічіть усі правила умовного форматування на активному аркуші

Sub M_snb()
Dim xRg As Range, xCell As Range
Dim xFormat As Object
Dim xFmStr, xFmAddress As String
Dim xDic As New Dictionary
Dim xSpArr, xOperatorArr
On Error Resume Next
Set xRg = ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions)
If xRg Is Nothing Then Exit Sub
xDic.Item("Title") = "Type|Typename|Range|StopIfTrue|Operator|Formula1|Formula2|Formula3"
If xSpArr.Count = 0 Then
xSpArr = Split("Cell Value|Expression|Color Scale|DataBar|Top 10|Icon Sets||Unique Values|Text|Blanks|Time Period|Above Average||No Blanks||Errors|No Errors|||||", "|")
xOperatorArr = Split("xlBetween|xlNotBetween|xlEqual|xlNotEqual|xlGreater|xlLess|xlGreaterEqual|xlLessEqual", "|")
End If
For Each xCell In xRg
Set xFormat = xCell.FormatConditions(1)
xFmAddress = xFormat.AppliesTo.Address
If Not xDic.Exists(xFmAddress) Then
xDic.Item(xFmAddress) = xFormat.Type & "|" & xSpArr(xFormat.Type - 1) & "|" & xFmAddress & "|" & xFormat.StopIfTrue
If Not IsEmpty(xFormat.Operator) Then
xDic.Item(xFmAddress) = xDic.Item(xFmAddress) & "|" & xOperatorArr(xFormat.Operator - 1)
End If
If Not IsEmpty(xFormat.Formula1) Then
xDic.Item(xFmAddress) = xDic.Item(xFmAddress) & "|'" & xFormat.Formula1
End If
End If
Next
If ActiveWorkbook.Worksheets("FmCondictionList") Is Nothing Then
Sheets.Add.Name = "FmCondictionList"
End If
Sheets("FmCondictionList").Cells(1).Resize(xDic.Count) = Application.Transpose(xDic.items)
Sheets("FmCondictionList").Columns(1).TextToColumns , , , , 0, 0, 0, 0, -1, "|"
End Sub

3. Клацання Tools > посилання.

4. У діалоговому вікні Посилання - VBAProject перевірте Виконання сценаріїв Microsoft та натисніть кнопку OK кнопку. Дивіться знімок екрана:

5. Тепер ви повернетесь до вікна модуля, натисніть, будь ласка F5 або клацніть на прогін для запуску цього VBA.

Тепер новий аркуш із назвою „FmCondtionalList”Створюється та додається перед активним аркушем. І ви отримаєте перелік усіх правил умовного форматування на цьому аркуші.

6. Клацання філе > друк > друк для друку списку правил умовного форматування.


стрілка синя права міхурСтатті по темі:

Найкращі інструменти продуктивності офісу

🤖 Kutools AI Aide: Революціонізуйте аналіз даних на основі: Інтелектуальне виконання   |  Згенерувати код  |  Створення спеціальних формул  |  Аналізуйте дані та створюйте діаграми  |  Викликати функції Kutools...
Популярні функції: Знайдіть, виділіть або визначте дублікати   |  Видалити порожні рядки   |  Об’єднайте стовпці або клітинки без втрати даних   |   Раунд без Формули ...
Супер пошук: VLookup за кількома критеріями    Багатозначний VLookup  |   VLookup на кількох аркушах   |   Нечіткий пошук ....
Розширений розкривний список: Швидке створення випадаючого списку   |  Залежний спадний список   |  Виберіть розкривний список, що вибирається ....
Менеджер колонок: Додайте конкретну кількість стовпців  |  Перемістити стовпці  |  Перемкнути статус видимості прихованих стовпців  |  Порівняйте діапазони та стовпці ...
Особливості: Фокус сітки   |  Перегляд дизайну   |   Велика панель формул    Диспетчер робочих книг і аркушів   |  Бібліотека ресурсів (автотекст)   |  Вибір дати   |  Об’єднайте робочі аркуші   |  Шифрування/розшифрування клітинок    Надсилайте листи за списком   |  Супер фільтр   |   Спеціальний фільтр (фільтр жирний/курсив/закреслений...) ...
Топ-15 наборів інструментів12 текст Tools (додати текст, Видалити символи, ...)   |   50 + Графік типи (діаграма Ганта, ...)   |   40+ Практичний Формули (Розрахуйте вік на основі дня народження, ...)   |   19 вставка Tools (Вставте QR-код, Вставити зображення зі шляху, ...)   |   12 Перетворення Tools (Числа до слів, Валютна конверсія, ...)   |   7 Злиття та розділення Tools (Розширені комбіновані ряди, Розділені клітини, ...)   |   ... і більше

Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу.  Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...

Опис


Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Regarding the comment by @Eagle, I modified the code to cycle up to 'xCell.FormatConditions.Count' and I retrieved more format conditions, but not all of them.
It appears that this change adds the formats on different ranges for the same cell, but not the same ranges with different formats for the same cell.
I'm not that familiar yet with the code that would extract these extra formats.
This comment was minimized by the moderator on the site
Works fine!
Just two notes regarding the comments before:
* Microsoft Scripting Library must be added, otherwise 'Dim xDic As New Dictionary' cannot be interpreted
* If you have more then 1 rules defined on the same Range, then only the first will be listed (code shell be extended with a cycle from 1 to xCell.FormatConditions.Count)

Thanks a lot!
This comment was minimized by the moderator on the site
Unfortunately doesn't work (excel 2013).
This comment was minimized by the moderator on the site
L'algo est mauvais, il n'y a pas de boucle pour couvrir les cas ou un range aurait plusieurs format conditionnels.
This comment was minimized by the moderator on the site
This works great, but is there a way to get a loop that includes all tabs?
This comment was minimized by the moderator on the site
For me it did create a tab and populate information however it was excluding a lot of the conditional formatting was not included. At the time I ran it I had 112 conditional formatting rules set up but only 8 records displayed in the tab.
This comment was minimized by the moderator on the site
Same for me - it only displayed 7 out of 14 conditional formatting rules. Is there any solution for that?
This comment was minimized by the moderator on the site
this does not work. It creates the tab but does not populate the conditional formatting information
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations