我检查了其他45个关于“Excel已停止工作”的问题。没有答案的人帮助了我。显然,很多不同的事情都可能导致这个问题。
我有一张59页的工作簿,但我只需要十几张。我编写了一个简单的宏来检查每个工作表的名称,如果名称包含“H2O”或“NG”,则工作表将复制到我之前创建的另一个工作簿,并在宏运行时打开。第一次复制工作表导致Excel关闭并重新启动,并伴有“Microsoft Excel已停止工作”消息。
工作簿有很多工作表,但它在任何工作表上没有Form或Active-X控件或公式,没有表单,只有下面显示的一个宏。我可以手动复制工作表或更改宏以隐藏我不想要的工作表,但是我得到了一个更复杂的宏的错误,它将一个工作表从不同文件夹中的39个工作簿复制到一个工作簿有39张,所以我真的很想知道是什么导致了这一点。 我正在使用Windows 10版本1709运行Microsoft Office 365 ProPlus。宏首先遇到“NG”表,因此导致问题的代码行始终是“Case is =”NG“'之后的代码:
'表格(SheetName)。复制后:=工作簿(“Gas History Henry Mayo.xlsx”)。表格(GasSheetCount)'
Sub CreateWaterAndGasWorkbooks()
Dim i As Integer
Dim SheetName As String
Dim SheetType As String
Dim WaterSheetCount As Integer
Dim GasSheetCount As Integer
WaterSheetCount = 1
GasSheetCount = 1
With Range("A1")
For i = 1 To Sheets.Count
SheetName = Sheets(i).Name
SheetType = ""
If InStr(1, SheetName, "H2O") > 0 Then SheetType = "Water"
If InStr(1, SheetName, "NG") > 0 Then SheetType = "NG"
.Cells(i, 1).Value = SheetName 'Just for debug, so I know where
.Cells(i, 2).Value = SheetType 'I was if it bombs.
Select Case SheetType
Case Is = "Water"
Sheets(SheetName).Copy After:=Workbooks("Water History Henry Mayo.xlsx").Sheets(WaterSheetCount)
WaterSheetCount = WaterSheetCount + 1
Windows("Utility Cost Spreadsheets.xlsx").Activate
Case Is = "NG"
Sheets(SheetName).Copy After:=Workbooks("Gas History Henry Mayo.xlsx").Sheets(GasSheetCount)
WaterSheetCount = GasSheetCount + 1
Windows("Utility Cost Spreadsheets.xlsx").Activate
Case Else
'do nothing
End Select
Next i
End With
End Sub
答案 0 :(得分:0)
尝试使用下面的简短版本,而不使用任何public function addTenancy()
{
return $this->accepted == 0 && $this->request_sent == 0;
}
public function hasRequestPending()
{
return $this->accepted == 0 && $this->request_sent == 1;
}
public function inTenancy()
{
return $this->accepted == 1 && $this->request_sent == 0;
}
。
修改后的代码
Activate
答案 1 :(得分:0)
虽然使用VBA时发生了错误,但我怀疑这不是因为代码本身出了什么问题。我一直在搜索,最后发现了一个禁用Excel加载项的建议。我禁用了其中两个(名称管理器实用程序和查找链接),现在我的原始代码和Shari Rado贡献的改进版本都有效。
我在StackOverflow上发现了6个关于“Excel已经停止工作”的讨论,所有这些讨论都有不同的情况(但主要涉及打开或关闭工作簿)&阅读45个答案。没有人建议禁用加载项。所以,如果你是像Shai那样试图帮助那些在这里发布问题的人的人之一,那么你应该将这种方法添加到你的技巧中。在这里,我找到了适合我的答案:
https://www.stellarinfo.com/blog/fix-microsoft-excel-stopped-working-error/