Невозможно выбрать диапазон, используя функции поиска и смещения - PullRequest
0 голосов
/ 23 мая 2019

Моя цель - скопировать строки из листа («VBA») в определенное место на листе («COLUMBIA-TAKEDOWN»). Расположение - смещение (1,1) ячейки, содержащей «P R O S P E C T S». Первая часть моего кода работает достаточно хорошо, но мои проблемы начинаются с выбора и редактирования строки [Prospect.Offset (13, -1) .Select]. Похоже, что эта строка кода игнорируется, потому что последующие строки форматирования не выполняются. Это не выбрасывает сообщение об ошибке.

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

Application.ScreenUpdating = False

Dim Prospect As Range
Set Prospect = Sheets("COLUMBIA-TAKEDOWN").Cells.Find(what:="P R O S P E C T S")

Sheets("VBA").Visible = True
Sheets("VBA").Rows("13:25").Copy
Prospect.Offset(1, -1).Insert shift:=xlDown
Prospect.Offset(13, -1).Select
With Selection.Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorLight1
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With
Prospects.Offset(1, -1).Select
Sheets("VBA").Visible = False

End Sub

1 Ответ

2 голосов
/ 23 мая 2019

Проблема в том, что вы пытаетесь вставить rows в cell диапазоне ... они не одного размера, отсюда и ошибка.

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

Sub test()

Application.ScreenUpdating = False

Dim wb As Workbook: Set wb = ThisWorkbook
Dim sht As Worksheet: Set sht = wb.Sheets("Sheet1")
Dim ProspectRow As Long: ProspectRow = sht.Cells.Find(what:="P R O S P E C T S").Row + 1

wb.Sheets("VBA").Rows("13:25").Copy
sht.Rows(ProspectRow).Insert Shift:=xlDown

With sht.Rows(ProspectRow + 13).Interior
    .PatternColorIndex = xlAutomatic
    .ThemeColor = xlThemeColorLight1
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

Application.ScreenUpdating = True

End Sub

РЕДАКТИРОВАТЬ: обновил код для критиков ...

EDIT2: добавлено форматирование ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...