Цвет Форматирование каждой другой строки

Мне удалось найти два кода при переполнении стека, но не получить его, чтобы дать одну светло-серую форматированную строку, за которой следует белая строка, помощь будет оценена, попробуем оба кода

Sub Colour(rng As Range, firstColor As Long, secondColor As Long) rng.Interior.ColorIndex = xlAutomatic rng.FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(ROW(),2)=0" rng.FormatConditions(1).Interior.Color = firstColor rng.FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(ROW(),2)<>0" rng.FormatConditions(2).Interior.Color = secondColor End Sub 'Usage: ' Sub ColourFormatting() Dim rng As Range Dim firstColor As Long Dim secondColor As Long Set rng = Range("A1:E10") firstColor = Pattern = xlSolid: PatternColorIndex = xlAutomatic: ThemeColor = xlThemeColorDark1: TintAndShade = -0.149998474074526: PatternTintAndShade = 0 secondColor = TintAndShade = 0: PatternTintAndShade = 0 ' Call Colour(rng, firstColor, secondColor) End Sub Sub ShadeEveryOtherRow() Dim Counter As Integer 'For every row in the current selection... For Counter = 1 To Range("A1:E30").Rows.Count 'If the row is an odd number (within the selection)... If Counter Mod 2 = 1 Then 'Set the pattern to xlGray16. Range("A1:E30").Rows(Counter).Interior.Pattern = xlSolid: PatternColorIndex = xlAutomatic: ThemeColor = xlThemeColorDark1: TintAndShade = -0.149998474074526: PatternTintAndShade = 0 End If Next End Sub 

Для этого вам не нужен VBA – вы можете использовать условное форматирование с помощью формулы:

 =MOD(ROW(),2)=1 

и установите формат в светло-серый. Сделайте это для первой строки, а затем скопируйте эту строку по всей области в виде форматов (вставьте специальные).

Однако ваш код использует неправильный разделитель в параметрах, двоеточие в VBA означает новую строку, поэтому ваше утверждение

 Range("A1:E30").Rows(Counter).Interior.Pattern = xlSolid: PatternColorIndex = xlAutomatic 

Такой же как

 Range("A1:E30").Rows(Counter).Interior.Pattern = xlSolid PatternColorIndex = xlAutomatic 

И я полагаю, что VBA использует ваш последний выбор для второй линии.

Пытаться:

 Range("A1:E30").Rows(Counter).Interior.Pattern = xlSolid, PatternColorIndex = xlAutomatic 

и т.д

  • Как получить значение ячейки Excel в VBA как отформатированное в рабочей таблице?
  • Данные Excel в слайде Powerpoint с форматированием
  • Преобразовать импортированный столбец из текстового поля в число
  • C # OleDB Excel получает строки / столбцы с текстом с форматированием
  • Форматируйте несколько строк ячеек Excel, если они не находятся между диапазоном
  • Формат отчетов как номер
  • Найти повторяющиеся значения на листе Excel с использованием условного форматирования программным путем
  • Условное форматирование с наборами значков
  • Цветовая заливка VBA в диапазоне только в том случае, если ячейки в другом столбце не пустые
  • Как изменить тип даты на короткую дату
  • Столбец Date, обнаруженный как VarChar с помощью мастера импорта SQL Server
  • Interesting Posts

    Ошибка прерывания 0x800A03EC, когда Application.Visible является ложным

    Связь между excel и silverlight

    Excel VBA – рассчитать ширину столбца в дюймах

    Обнаружение первых и последних видимых точек в диаграмме Excel, превышающей окно Excel

    Excel, как принимать символы в ячейке

    Класс VBA со статическими методами

    Не удается получить доступ к файлу excel, который не используется

    VBA вытягивает данные с помощью файла схемы

    Выключить экранирование в параметре для запроса MySQL в Excel 2010

    Навигация в Excel VBA HTML (без идентификатора или класса)

    Измените базовую базу ячеек на другие данные ячеек, но сохраните ее таким образом, если данные снова будут изменены

    поиск совпадающих значений между выбранным диапазоном и столбцом в Vba

    Преобразование текста на дату

    VBA to Outlook Issue – Не нужно Число с запятой

    Каков наилучший способ быстрого преобразования списка чисел в список mysql IN?

    Давайте будем гением компьютера.