Скопируйте предыдущий формат ячейки, данные и шрифт, если выполнены два условия

Я знаю, что делаю это неправильно, я не могу понять номенклатуру VBA. В принципе, я хочу скопировать формат, данные и шрифт из ячейки над ячейкой, если выполнены два условия. Если быть точным, я хочу, чтобы Z8 копировал формат, данные и шрифт из Z7 тогда и только тогда, когда Z8 пуст, и S8 имеет в нем информацию. В противном случае Z8 останется таким. И я хочу сделать это для определенного диапазона.

Я бы предпочел не использовать SET, так как я хочу использовать другие макросы, и я не хочу, чтобы диапазон был постоянно установлен.

Sub ZFillTest() Dim i As Integer Dim k As Integer Dim rng As Range i = 0 k = 0 i = i + 4 k = k + 4 rng = ("Z5:Z200") For Each cell In rng If cell.Offset(k, 8).Value <> "" And cell(k, Z + i).Value = "" Then cell(k, Z + i).Value = cell(k, Z + i - 1).Value i = i + 1 k = k + 1 End If Next End Sub 

Set необходим для создания объекта. Вам нужно создать объект Range и пропустить его, чтобы сделать это, вам нужно использовать Set . Это не значит, что вы не можете установить его на что-то другое на более позднем этапе.

Попробуйте с кодом ниже:

 Sub ZFillTest() Dim rng As Range, r As Range Set rng = ThisWorkbook.Worksheets("Sheet1").Range("Z5:Z200") For Each r In rng If r.Value = vbNullString And r.Offset(0, -7).Value <> vbNullString Then r.Offset(-1, 0).Copy Destination:=r r.Value = r.Value 'if you don't want formulas copied over End If Next r End Sub 
  • Подробнее C # Автоматизация в Excel
  • MS Excel: разница между двумя столбцами.?
  • Ошибка 4198 при вставке из Excel в Outlook через слово
  • Графики диаграммы Bubble диаграммы Microsoft.Office.Interop.Excel 2010
  • MS Excel Structured Refrence
  • Как узнать каталог / путь установки из COM-AddIn
  • Как скопировать таблицы Excel в другую книгу excel, не открывая файл excel в c # winforms?
  • Как получить полное имя файла для документа Office с помощью C # и Office Interop?
  • Формула для проверки несмежных пробелов / незабитых строк по строке
  • Могу ли я добавить значок приложения для Office на ленту?
  • IF Function, Excel. Как установить значение True, если столбец A1: A10 установлен на «Pass»?
  • Давайте будем гением компьютера.