我已经做了我的研究,它是关于受保护的文件什么的。我不认为这是问题所在,我不确定我的问题在哪里。我注意到其他人也有同样的问题。
无论如何这是代码,当我做ws.Range("A:B etc...)
行,错误发生。提前感谢!
Sub BucketReview()
Dim BucketReport As Variant
Dim BucketReportWB As Workbook
Dim CopyLastRow As Long
Dim ws As Worksheet, wsDest As Worksheet, MasterList As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Improves Performance
BucketReport = Application.GetOpenFilename( _
Title:="Select your Fee Report", FileFilter:="Excel Files(*.xlsx*),*xlsx*")
If BucketReport <> False Then
Set BucketReportWB = Application.Workbooks.Open(BucketReport)
Else: Exit Sub
Set wsDest = _
Workbooks("Test Fee Deduction Plan Master List.xlsm").Sheets("Paste Reporting Here")
Set ws = BucketReportWB.Worksheets("Queue Status")
ws.Range("A:B,E:E,G:Z,AC:AE").Delete
End Sub
我怀疑这个问题只是另一个工作簿中的巨大(真的很大!)非连续范围。试着用这样的代码来拆分它:-
Dim Ws As Worksheet
Dim Rng As Range
Set Ws = BucketReportWB.Worksheets("Queue Status")
For Each Rng In Ws.Range("A:B,E:E,G:Z,AC:AE").Areas
Rng.Delete Shift:=xlToLeft
Next Rng
还要考虑从右到左而不是从左到右删除(删除最右边的列在其他列之前)。