复制表格与Excel VBA

我试图从工作簿A复制一张到新添加的工作簿B.我遇到的问题是它不保留PageSetup。 新工作簿与复制的工作表不适合在一个页面上的原始来源。 我试图研究这个,但不能确定是否需要复制PageSetup中的所有属性,或者如果它应该只是复制整个工作表时才工作。 这是我的代码到目前为止:

Public Sub makeCopies(ByVal seller As String) Dim thisWB As Workbook Dim newWB As Workbook Set thisWB = ActiveWorkbook Set newWB = Workbooks.Add On Error GoTo ErrorHandler: thisWB.Sheets(1).Copy Before:=newWB.Sheets(1) newWB.Activate newWB.SaveAs fileName:=seller & ".xlsx" newWB.Close thisWB.Activate Exit Sub ErrorHandler: MsgBox "Error" & Err.Number & Err.Description newWB.Close End Sub 

究竟是什么 Worksheet.PageSetup属性或属性没有被传送有点不清楚。 在下面的过程中,稍微修改以使孤立的空白工作表不包含在新的工作簿中,“××by×tall”属性以及“在顶部重复的行”被忠实地传递到新的工作表/工作簿。

 Sub main() makeCopies "makeCopies" End Sub Public Sub makeCopies(ByVal seller As String) Dim thisWB As Workbook Dim newWB As Workbook Set thisWB = ActiveWorkbook On Error GoTo ErrorHandler: thisWB.Sheets(1).Copy Set newWB = ActiveWorkbook newWB.SaveAs Filename:=Environ("TEMP") & Chr(92) & seller & ".xlsx" newWB.Close thisWB.Activate Exit Sub ErrorHandler: MsgBox "Error" & Err.Number & Err.Description newWB.Close End Sub 

将工作表复制到“无目标”将创build一个新的工作簿,该工作簿包含ActiveWorkbook属性 。 唯一的工作表将是原始的直接副本,除非在新的工作簿中出于某种原因需要1-3空白工作表,