Vba,excel有很多个工作表,每个工作表D5可能相同可能不同,选择D5均为"COVAR“的工作表合并另存为一个名为“COVAR"的PDF
时间: 2024-01-21 11:16:03 浏览: 164
以下是VBA代码实现:
```
Sub MergeCOVARWorksheets()
Dim ws As Worksheet
Dim COVARWorksheets As New Collection
Dim COVARWorksheet As Worksheet
Dim savePath As String
'查找所有D5单元格的值为"COVAR"的工作表
For Each ws In ThisWorkbook.Worksheets
If ws.Range("D5").Value = "COVAR" Then
COVARWorksheets.Add ws
End If
Next ws
'合并所有COVAR工作表
If COVARWorksheets.Count > 0 Then
Set COVARWorksheet = Worksheets.Add
COVARWorksheet.Name = "COVAR"
COVARWorksheets(1).Range("A1").CurrentRegion.Copy COVARWorksheet.Range("A1")
For i = 2 To COVARWorksheets.Count
COVARWorksheets(i).Range("A1").CurrentRegion.Offset(1).Copy COVARWorksheet.Range("A" & Rows.Count).End(xlUp).Offset(1)
Next i
'保存合并后的工作表为PDF文件
savePath = ThisWorkbook.Path & "\COVAR.pdf"
COVARWorksheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=savePath, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
COVARWorksheet.Delete
End If
End Sub
```
以上代码会查找所有D5单元格的值为"COVAR"的工作表,并将它们合并到一个新工作表中。然后将新工作表保存为名为“COVAR”的PDF文件。PDF文件将保存在当前工作簿的路径下。如果没有找到任何COVAR工作表,则不会创建新工作表或保存PDF文件。
阅读全文