【发布时间】:2015-11-27 13:11:02
【问题描述】:
我正在运行这个简单的宏。目标是通过单击用户表单按钮创建新的数据表(删除旧的)。从原始数据表复制后,应将其重命名为“数据”。如果名为“数据”的工作表已经存在 - 将其删除。
Private Sub CommandButton1_Click()
Dim ws1 As Worksheet
Dim trigger As Integer
trigger = 0
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = 1 To Sheets.Count
If Sheets(i).Name = "Data" Then
trigger = 1
Sheets("Data").Delete
Sheets("raw_Data").Visible = True
Set ws1 = Sheets("raw_Data")
ws1.Copy Sheets(Sheets.Count)
Sheets("raw_Data").Visible = False
End If
Next i
If trigger = 0 Then
Sheets("raw_Data").Visible = True
Set ws1 = ThisWorkbook.Worksheets("raw_Data")
ws1.Copy ThisWorkbook.Sheets(Sheets.Count)
Sheets("raw_Data").Visible = False
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Unload Me
ActiveSheet.Name = "Data"
End Sub
我在这里运行某种无限循环吗?如果我删除:
ActiveSheet.Name = "Data"
Excel 不再崩溃。
【问题讨论】:
-
我无法重现您的错误。您的代码在我的 Excel 上运行而不会崩溃。您能否上传一个工作簿来演示问题,并删除敏感数据,到 OneDrive 或 DropBox 等共享网站,并在此处发布链接?
-
dropbox.com/s/7uflgpdpnig4d80/%C3%BClesanne.xlsm?dl=0 点击“ALUSTA TESTIGA”和“VAATA ANDMEID”两次
-
ouh...sry...“ALUSTA TESTIGA”-“VAATA ANDMEID”-“TAGASI TESTI JUURDE”-“VAATA ANDMEID”
-
对不起。仍然无法重现您的崩溃。它似乎运行正常并产生“新”
Data -
那一定是我的电脑。感谢您的测试