无法使用查找和偏移功能选择范围

时间:2019-05-23 18:58:55

标签: excel vba select offset

我的目标是将行从Sheet(“ VBA”)复制到Sheet(“ COLUMBIA-TAKEDOWN”)中的特定位置。该位置是包含“ P R O S P E C T S”的单元格的Offset(1,1)。我的代码的第一部分工作得很好,但是我的问题开始于选择和编辑一行[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 个答案:

答案 0 :(得分:1)

问题是您尝试在rows范围内insert 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:添加了格式...