首先,我是新手,请多多关照。
我创建了一个摘要工作簿,使用宏从文件夹中的多个工作簿中选择特定范围("A19:W105")并将值复制到摘要工作簿中。此范围中的数据量会变化,有时可能只有 1 行,有时最多可达 86 行。以下是代码,效果很好:
With wsMaster
erow = .Range("B" & .Rows.Count).End(xlUp).Row
wsTemp.Range("A19:W105").Copy
.Range("B" & erow).Offset(1, 0).PasteSpecial xlPasteValues
End With
然后我创建了一个命令按钮来将汇总工作簿保存为PDF。现在我的问题是,代码中选择了所有复制过来的空单元格。这导致生成的PDF文件有多页,即使只有1或2页实际上有数据。以下是该代码:
Dim lastrow As Long
DateStr = Format(Date, "yyyy-mm-d")
lastrow = Cells(Rows.Count, 2).End(xlUp).Row
Range("B1:X" & lastrow).ExportAsFixedFormat Type:=xlTypePDF,_
Filename:="K:\AALI\Forecasts\Exported PDF Summary Sheets\"_
& "(" & DateStr & ") " & "MR Forecast and Budget Summary" & "_" _
& Comment, Quality:=xlQualityStandard, IncludeDocProperties:=True,_
IgnorePrintAreas:=False, OpenAfterPublish:=True
有没有一种方法只选择具有实际信息的范围?
更新1: 附上工作表的屏幕截图。数据最后一行下方的所有内容都是“空白”(没有公式或文本),但是当宏从其他文件复制信息时,由于IFERROR公式的结果,某些值为空白。这会有影响吗?另外,在复制数据时,我已将排序功能编码到宏中,这样有问题吗?
文件屏幕截图:
感谢!