VBA для поиска значений и изменения формата для Row + 2

Может ли кто-нибудь дать мне руку помощи со следующим куском vba? Я пытаюсь найти строку текста в столбце, и если она соответствует моим критериям, измените формат динамического диапазона. Мне сложно определить, как сделать этот диапазон динамическим. Это строки, которые соответствуют строке + 2.

Вот что у меня до сих пор:

Sub FormatPercentages() Dim RowToTest As Long For RowToTest = Cells(Rows.count, 27).End(xlUp).Row To 2 Step -1 With Cells(RowToTest, 27) If .Value Like "*Efficiency*" _ Then _ Range("AD129:AS131").NumberFormat = "0%" End With Next RowToTest End Sub 

Мне нужна помощь в части диапазона: Range («AD129: AS131»). NumberFormat = «0%» Я думаю, что это должно быть что-то вроде этого, хотя я знаю, что он плохо написан ( AD & «N»: & AD.xlToRight & "N" +2 ). Где N – номер строки, соответствующий строке Эффективность.

Спасибо, C

Вероятно, путаница исходит от странного использования _ . Так ли это работает?

 Sub FormatPercentages() Dim RowToTest As Long For RowToTest = Cells(Rows.Count, 27).End(xlUp).Row To 2 Step -1 With Cells(RowToTest, 27) If .Value Like "*Efficiency*" Then Range("AD" & RowToTest & ":AD" & RowToTest + 2).NumberFormat = "0%" End If End With Next RowToTest End Sub 

Я не тестировал его, но он выглядит так, как вам нужно, предполагая, что N из вашего вопроса – RowToTest .

Попробуйте свойство Resize :

 Range("AD" & RowToTest).Resize(3, 1).NumberFormat = "0%" 

Или,

 Cells(RowToTest, 27).Resize(3, 1).NumberFormat = "0%" 

Или идите со своим кодом следующим образом:

 ... If .Value Like "*Efficiency*" Then Range(Cells(RowToTest, 27), Cells(RowToTest, 27).End(xlToRight)).NumberFormat = "0%" End If ... 

или если начало в строке 3 использует условное форматирование (вы начинаете с 2 … грустно)

 Range: =$AD$3:$BD$10000 Formula: =OR(ISNUMBER(SEARCH("Efficiency",$D1:$D3))) 

условное форматирование также не возвращается «Эффективность» … (замените SEARCH с FIND если вы хотите искать с учетом регистра)

  • Excel для расчета, если значения в диапазонах соответствуют определенным критериям, используя VBA
  • Функция слияния диапазона c # excel объединяет соседние строки
  • Ищете идею изменить диапазон функции excel
  • Excel VBA: диапазон до строкового массива в 1 шаг
  • Создание диапазона из нескольких диапазонов в excel vba
  • Элемент Userform Listbox Элементы как строка, где каждый элемент относится к диапазону столбцов на активном листе
  • Соответствие строки из массива в диапазон Excel VBA
  • Как найти и получить доступ к именованным диапазонам (global, nd per-worksheet) с помощью xlrd, Python?
  • Excel c # добавить ячейки в диапазон
  • Номер категории Vlookup в диапазоне и (кручение) имени
  • VBA Найдите последнюю строку внутри диапазона?
  • Interesting Posts

    Изменение формата даты VBA

    Обходной путь для «Формула опускает смежные ячейки»

    Ошибка макроса Excel – «Определенный пользователем тип не определен» – Ссылки вычеркнуты

    Фильтровать таблицу Excel по месяцам и годам

    Excel – использование групп перекрывающихся дат в сводной таблице (WTD, MTD, YTD и т. Д.)

    Выделение определенных символов, которые объединены в один столбец

    Скрытие метки столбца «Значения» в сводной таблице с использованием VBA

    Что заставляет excel ставить кавычки вокруг текста?

    Как получить определенные ячейки из одного листа для перехода в определенные ячейки на другом листе

    excel SVERWEIS отображает #NV

    Получить номер строки, если 3 значения столбца ниже или равны 3 другим значениям

    Удаление незаполненных записей таблицы сводной таблицы Excel

    Если ошибка совпадения, когда значение не совпадает

    Объединение различных таблиц в excel путем поиска значений

    SQL Server – очистка и заполнение Excel

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