【发布时间】:2017-02-09 14:33:18
【问题描述】:
首先我是新来的,所以请善待。
我创建了一个摘要工作簿,它使用宏从文件夹中的多个工作簿中选择特定范围(“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 公式,某些值是空白的。这有什么不同吗?另外,在复制数据时,我已将排序函数编码到宏中,有什么问题吗?
文件截图
谢谢!
【问题讨论】:
-
能否提供截图。数据之间有空行吗?数据后面有空行吗?