Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba &引用;Excel无法使用可用资源完成任务“;_Vba_Excel_Resources - Fatal编程技术网

Vba &引用;Excel无法使用可用资源完成任务“;

Vba &引用;Excel无法使用可用资源完成任务“;,vba,excel,resources,Vba,Excel,Resources,我不知道是什么导致了这个问题。我有一个简单的宏,它创建新的选项卡并命名它们,然后过滤一个选项卡中的数据并将其粘贴到相应的选项卡上 这是我的密码: Sub Tabs() Dim wbRecovery As Workbook Dim wsFac As Worksheet Set wbRecovery = ThisWorkbook Set wsFac = wbRecovery.Sheets("Facility Rec Bucket & Year") With wbRecovery She

我不知道是什么导致了这个问题。我有一个简单的宏,它创建新的选项卡并命名它们,然后过滤一个选项卡中的数据并将其粘贴到相应的选项卡上

这是我的密码:

Sub Tabs()

Dim wbRecovery As Workbook
Dim wsFac As Worksheet

Set wbRecovery = ThisWorkbook
Set wsFac = wbRecovery.Sheets("Facility Rec Bucket & Year")

With wbRecovery
Sheets.Add After:=Sheets(Sheets.Count), Count:=17
Sheets(5).Name = "DANES"
Sheets(6).Name = "DCEND"
Sheets(7).Name = "DCHED"
Sheets(8).Name = "DCNUR"
Sheets(9).Name = "DCRIC"
Sheets(10).Name = "DEMER"
Sheets(11).Name = "DHEMA"
Sheets(12).Name = "DMED"
Sheets(13).Name = "DNEUR"
Sheets(14).Name = "DNSUR"
Sheets(15).Name = "DOBGY"
Sheets(16).Name = "DOPHT"
Sheets(17).Name = "DPEDS"
Sheets(18).Name = "DPMR"
Sheets(19).Name = "DPSYC"
Sheets(20).Name = "DRADS"
Sheets(21).Name = "DSURG"
End With

wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DANES"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DANES").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DCEND"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DCEND").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DCHED"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DCHED").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DCNUR"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DCNUR").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DCRIC"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DCRIC").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DEMER"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DEMER").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DHEMA"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DHEMA").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DMED"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DMED").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DNEUR"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DNEUR").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DNSUR"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DNSUR").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DOBGY"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DOBGY").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DOPHT"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DOPHT").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DPEDS"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DPEDS").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DPMR"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DPMR").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DPSYC"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DPSYC").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DRADS"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DRADS").Range("A1")
wsFac.Range("A1").AutoFilter Field:=1, Criteria1:=("DSURG"), _
        Operator:=xlFilterValues
wsFac.Cells.Copy Destination:=wbRecovery.Sheets("DSURG").Range("A1")




End Sub
当我按原样运行此代码时,粘贴OBGY选项卡后,我得到错误“Excel无法使用可用资源完成任务”。从数据复制的选项卡不是异常大的,它只有566行和14列宽(我不认为这对于Excel来说太大)。如果我单独运行代码行或以5-8个代码块的形式运行代码行,那么效果会非常好。所有数据都已正确复制和粘贴,但当我将其作为一个整体运行时,会遇到相同的问题

我的电脑或Excel本身有问题吗


我从桌面上删除了很多东西,所以我认为这不是存储问题。此外,当我手动执行此过程时,我没有任何问题。我还尝试了
Application.CutCopyMode=False
但也没有成功

我怀疑这是因为您反复使用
wsFac.Cells.Copy
占用了您的资源。自动筛选后,仅复制可见单元格。当我说“可见单元格”时,你可能想在每次“粘贴”之后添加
Application.CutCopyMode=False
,如果还不够,可以添加一些
DoEvents
。如果仍然不够,您需要将
.Copy
,更改为类似
范围。Resize.Value=Range.SpecialsCells.Value
(我没有所有这些的链接,但至少您会有关键字!;))和@SiddharthRout的建议:如果您使用同一个表,请创建一个命名范围并使用
wsFac.Range(“姓名”指的是“姓名”.Copy
Wow谢谢!!可见单元格工作得很好!而且现在速度快多了。我想我的懒惰真的让我为此付出了代价。你还可以重构代码,将所有名称放入一个数组,并在数组中循环,添加工作表名称,命名,过滤主工作表,然后将可见单元格复制到新工作表上。会成功吗更易于继续更新(以及阅读:)