我有一个宏,生成一个新的名称下的excel副本,而不是覆盖原来的。用于为所有员工生成副本,同时保护原件。
我试图创建一个类似的文件,在另一个sharepoint位置保存带有今天日期的可见工作表的副本,但是我的宏遇到了一个错误,因为我正在复制的工作表包含表。
精确错误:"无法复制包含表格的工作表";宏在"Sheets(myArray).Copy"如有任何意见,不胜感激:-)
Dim myArray() As Variant
Dim i As Integer
Dim j As Integer
j = 0
For i = 1 To Sheets.Count
If Sheets(i).Visible = True Then
ReDim Preserve myArray(j)
myArray(j) = i
j = j + 1
End If
Next i
Sheets(myArray).Select
Sheets(myArray).Copy
ActiveWorkbook.SaveAs Filename:="Low Level" & newdate & ".xlsx",
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Save
ActiveWindow.Close
好的,根据这篇文章,限制只是您不能使用Sheets(..).Copy
同时复制多个带有表的表单。
也就是说,您可以使用Sheets(..).Copy
一次复制一个表的一个工作表,或者,您可以使用ActiveWindow.SelectedSheets.Copy
等其他方法复制多个表的工作表。
(我没有测试过,所以你必须自己确认)