Excel VBA函数仅粘贴打印区域内的内容,而不是整个工作表?
我正在创建一个复制/粘贴vba代码,以将我的财务模型转换为单独excel模型中的粘贴版本,并且无法确定如何仅粘贴打印区域中显示的内容。目前,它工作正常,但它粘贴了打印范围之外的所有数据,并显示隐藏在行/列中且未显示的所有数据 我似乎找不到一个函数或简单的函数来添加到已经在工作的代码中。我是VBA新手,不确定添加此功能的最佳方法Excel VBA函数仅粘贴打印区域内的内容,而不是整个工作表?,excel,vba,Excel,Vba,我正在创建一个复制/粘贴vba代码,以将我的财务模型转换为单独excel模型中的粘贴版本,并且无法确定如何仅粘贴打印区域中显示的内容。目前,它工作正常,但它粘贴了打印范围之外的所有数据,并显示隐藏在行/列中且未显示的所有数据 我似乎找不到一个函数或简单的函数来添加到已经在工作的代码中。我是VBA新手,不确定添加此功能的最佳方法 Sub Test() Dim wb As Workbook, wbPaste As Workbook, wsExhibit1 As Worksheet, wsP
Sub Test()
Dim wb As Workbook, wbPaste As Workbook, wsExhibit1 As Worksheet, wsPaste As Worksheet, wsInputs As Worksheet, _
wsExhibit2 As Worksheet
With Application
.ScreenUpdating = False
.Calculation = xlCalculationAutomatic
.EnableEvents = False
End With
Set wb = ThisWorkbook
Set wbPaste = Workbooks("Copy_PasteWorkbook.xlsx")
With wb
Set wsExhibit1 = .Sheets("Value_Summary")
Set wsInputs = .Sheets("Inputs")
Set wsExhibit2 = .Sheets("Calculations")
End With
With wbPaste
Set wsPaste = .Sheets.Add(after:=.Sheets(.Sheets.Count))
End With
With wsPaste
wsExhibitA1.UsedRange.Copy
.Range("A1").PasteSpecial xlPasteValues
.Range("A1").PasteSpecial xlPasteFormats
.Range("A1").PasteSpecial xlPasteColumnWidths
.Name = .Cells(1, 3)
End With
wsInputs.Range("Selected_Calculation").Value = 1
Do Until wsInputs.Range("Selected_Calculation").Value > wsInputs.Range("Total_Calculations").Value
Application.Calculate
With wbPaste
Set wsTemp = .Sheets.Add(after:=.Sheets(.Sheets.Count))
End With
With wsTemp
wsExhibit2.UsedRange.Copy
.Range("A1").PasteSpecial xlPasteValues
.Range("A1").PasteSpecial xlPasteFormats
.Range("A1").PasteSpecial xlPasteColumnWidths
.Name = .Cells(1, 3)
End With
wsInputs.Range("Selected_Calculation").Value = wsInputs.Range("Selected_Calculation").Value + 1
DoEvents
Loop
wsInputs.Range("Selected_Calculation").Value = 1
With Application
.ScreenUpdating = False
.Calculation = xlCalculationAutomatic
.EnableEvents = False
.CutCopyMode = False
End With
End Sub
我希望只将工作簿中设置的打印区域内的内容粘贴到相应的页面上。不粘贴隐藏数据或范围外的数据。
Print\u区域
是一个命名范围
Sheets(“SheetName”).Range(“Print_Area”).Copy
要避免隐藏单元格,请执行以下操作:
Sheets(“SheetName”).Range(“Print_Area”).SpecialCells(xlCellTypeVisible).Copy
当然,答案很简单。谢谢你的帮助。有关于如何忽略粘贴中隐藏的行/列的提示吗?