excel - 仅将几列从 Excel 转换为 PDF
问题描述
我在一个 excel 文件中有 3 张工作表,我正在尝试使用 VB 脚本将所有这 3 张工作表转换为一个 pdf 文件。
它适用于我下面的代码。
Sub CreatePDff()
Sheets(Array("Sheet1", " Sheet2", " Sheet3")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("UserProfile") & "\Documents\sample.pdf", _
openafterpublish:=True, ignoreprintareas:=False
Application.DisplayAlerts = False
End Sub
现在,我只需要从 sheet3 转换的列(A 到 D 和 G、J)。不是 Sheet3 中的整个列。
我需要 Sheet1、Sheet2 中的全部数据,并且只需要 Sheet3 中的选定列到单个 pdf 文件中。
对此有任何想法
解决方案
创建一个新工作表并将 AD 和 GJ 列粘贴到那里。让我们假设它是 Sheet4。在数组中,传递 Sheet4 而不是 Sheet3 并删除 sheet4。
修改了你的代码
Sub CreatePDff()
Dim wb As Workbook
Dim sh As Worksheet
Set wb = Workbooks(ActiveWorkbook.Name)
Set sh = wb.Sheets.Add(After:=Sheets(Sheets.Count)) ' Adds a new sheet
sheets("Sheet3").Range("A:D,G:J").copy 'Copy Selected data from Sheet3
sheets("Sheet4").Range("A1").pastespecial ' Paste it in new sheet
Sheets(Array("Sheet1", " Sheet2", " Sheet4")).Select 'Change sheet3 to 4
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Environ("UserProfile") & "\Documents\sample.pdf", _
openafterpublish:=True, ignoreprintareas:=False
Sheets("Sheet4").SelectedSheets.Delete 'Delete Sheet4
Application.DisplayAlerts = False
End Sub
推荐阅读
- javascript - 固定页眉和固定侧导航与静态页脚,侧导航与页脚折叠
- javascript - JavaScript:在包含的表格中设置背景颜色
- reactjs - 如何验证 ReactJS 中的数字输入
- python - QTableview Select Item from filtered model
- vb.net - 使用字典、集合或类对表单控件进行分组
- php - php passing variable to label
- sql - Rails 请求的关系 created_at 低于哪里?
- dll - .Net Core 2.1 控制台应用程序引用 .Net Framework 4.6.1 DLL - 可能吗?
- excel - Excel: How to move text from multiple cells to first cell?
- c# - 重定向前的时间延迟