我正在尝试在特定工作表上运行宏,然后在其他工作表上启动它。
我了解我可以为每一行代码选择“问题”表,但是我想知道为什么使用“ with Statement”时它不起作用(请参见下面的代码)。
Sub IncludeNew()
Application.ScreenUpdating = False
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = Sheets("Occupancy")
With ws
.Columns("C:E").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.Columns("F:F").AutoFill Destination:=Columns("C:F"), Type:=xlFillDefault
.Range("Quaterly").Columns(2).copy
.Range("Quaterly").Columns(2).EntireColumn.Insert
.Range("C6").copy
.Range("Quaterly").Cells(12, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.ScreenUpdating = True
Application.CutCopyMode = False
End With
End Sub
我收到的错误消息是"Run-time error 1004" AutoFill method of range class failed
。在实际工作表上运行时,效果很好!
错误发生在.Columns(“ F:F”)。自动填充目标:= Columns(“ C:F”),类型:= xlFillDefault
答案 0 :(得分:0)
您快到了。您错过了.
。尝试使用.... Destination:=.Columns("C:F").....
。
而且,声明工作簿变量而不使用它有什么意义呢?声明工作表变量时,可以使用wb.Sheets("Occupancy")