Копировать / Прошлый формат с правилами условных обозначений - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть таблица в листе.

Я очищаю все содержимое таблицы в макросе.

Но я хочу специальный формат в каждом столбце:

A: Центр, Полужирный, Стандартный формат ... B: Слева, Числовой формат ...

Вопрос в том, Как я могу подогнать столбцы к желаемому формату, не забывая правила условных выражений!

Потому что на самом деле мой кодпримерно так:

Range("B2").Select
Selection.Copy
Range("B2").Select ''''' mise en forme Standar
Range(Selection, Selection.End(xlDown)).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Не очень эффективно ... Я копирую B2, чтобы вставить в оставшуюся часть столбца B ...

1 Ответ

0 голосов
/ 07 декабря 2018

Если я правильно понял, вы хотите применить форматирование из верхней строки к остальным ячейкам в этом столбце без потери условного форматирования этих ячеек назначения.

Этого можно добиться с помощьюнебольшое изменение в вашем существующем коде, поэтому вместо:

Range("B2").Copy

сделайте это так, чтобы все форматы из верхней строки выбирались за один раз:

Range("B2:G2").Copy

Затем вы можете применить форматы ко всему региону за один шаг:

Selection.CurrentRegion.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False

Это позволит применить форматирование из верхней строки к каждой из строк ниже, сохранив форматирование для каждого столбца и, что особенно важно,условное форматирование.

...