EXCEL如何导出带标题行的打印区域为png

对于如下代码
Range(ActiveSheet.PageSetup.PrintArea).Copy
ActiveSheet.Pictures.Paste.Select
'ActiveSheet.Shapes.Range(Array("Picture 22")).Select
Application.CutCopyMode = False
Selection.Cut

当打印区域带有标题行时,这个代码无法导出实际的打印区域
比如,设定打印标题行第一行

设定打印区域4~5行
实际打印出来是第一行标题+4、5行
但上述代码只能导出4、5行,没有标题行

使用Union合并两个区域则被告知无法对多个区域进行操作
分成两张图片又不知道如何通过VBA进行拼接
请问有没有办法解决

该回答引用ChatGPT

如果您希望在复制并粘贴打印区域时也复制并粘贴标题行,可以在代码中添加一行,使打印区域包括标题行,如下:

ActiveSheet.Rows(1).EntireRow.Copy
Range(ActiveSheet.PageSetup.PrintArea).Copy
ActiveSheet.Pictures.Paste.Select
'ActiveSheet.Shapes.Range(Array("Picture 22")).Select
Application.CutCopyMode = False
Selection.Cut


  1. 首先,在需要导出的打印区域上点击右键,选择“图片”→“另存为图片”;

  2. 在弹出的“另存为”窗口中,将“文件类型”改为“PNG 图片文件(*.PNG)”,点击“保存”按钮即可将带标题行的打印区域导出为png格式图片。