无法使用查找和偏移函数 select 范围
Unable to select range using find and offset functions
我的目标是将行从 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
问题是您正试图 insert 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: 添加格式...
我的目标是将行从 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
问题是您正试图 insert 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: 添加格式...