如何解决Excel中的工作表复制导致运行时错误
获取运行时错误,特别是复制工作表。它曾经可以工作,但不确定我在这里缺少什么。我正在使用v16.0和单个工作簿。这是代码的一部分:
Private Sub btnNewExchange_Click()
Worksheets("Exchange Master").Copy After:=Worksheets("Exchange Master")
'Copy the coefficients and freeze them into the current sheet
Worksheets("Exchange Master (2)").Unprotect
Worksheets("Exchange Master (2)").Range("D7:D18").Value = Worksheets("Exchange Master").Range("D7:D18").Value
Worksheets("Exchange Master (2)").Protect
' Rename the sheet
Worksheets("Exchange Master (2)").Select
Worksheets("Exchange Master (2)").Name = Format(Now(),"yyyy-MM-dd") & " Exchange"
UserForm1.Hide
Application.WindowState = xlMaximized
End Sub
解决方法
可以帮助您更明确地说明正在使用的对象。
如果仍然出现错误,则将错误的文本包含在问题中会有所帮助。
Private Sub btnNewExchange_Click()
Dim ws As Worksheet,wb As Workbook
'best to be explicit about the workbook you're working on
Set wb = ActiveWorkbook 'or ThisWorkbook?
Set ws = wb.Worksheets("Exchange Master")
ws.Copy After:=ws
With wb.Worksheets(ws.Index + 1)
.Unprotect
.Range("D7:D18").Value = ws.Range("D7:D18").Value
.Protect
.Name = Format(Now(),"yyyy-MM-dd") & " Exchange"
End With
UserForm1.Hide
Application.WindowState = xlMaximized
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。