相关疑难解决方法(0)

获得实际使用范围

我有一个带有按钮的Excel工作表.

当我调用usedRange()函数时,它返回的范围包括按钮部分.

无论如何我可以获得包含数据的实际使用范围吗?

excel vba excel-vba

20
推荐指数
3
解决办法
15万
查看次数

Excel VBA无法将PageSetup正确导出为PDF

我有将工作表格式化为所需的设置和布局的代码(横向一页高,横向)。当我运行代码(长宏的一部分)时,它会正确设置pagesetup的格式。

如果我手动导出并将其另存为pdf,则它将使用正确的页面设置,从而生成横向的一页PDF。但是,VBA所做的相同导出将产生几页长的纵向PDF。

我不知道为什么要这么做。我已经尝试了各种解决方案,例如在导出工作表之前选择了工作表,但都无济于事。

任何帮助表示赞赏。

代码如下:

Sub SaveAsPDF()
Sheets(ReportWsName).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        [SaveFolderPath] & "\" & ReportWsName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False
End Sub
Run Code Online (Sandbox Code Playgroud)

更新:

用于格式化pagesetup的代码(因为时间太长,我只添加了该子项的相关部分)

Private Sub CreateNewReport(ProvisionCode As String, TimeFrom As Date, TimeTo As Date)

... other code here...

'Format report to create the desired layout
With Worksheets(ReportWsName)
    'Delete unnecessary data and format the rest
    .Range("A:B,D:D,F:G,J:M,O:O,Q:S").Delete Shift:=xlToLeft
    .Range("A:F").EntireColumn.AutoFit
    .Range("C:C, E:F").ColumnWidth = 30
    With .Range("G:G")
        .ColumnWidth = 100
        .WrapText = True
    End With
    'Insert standard formating header …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010 excel-2013

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

excel ×2

excel-vba ×2

vba ×2

excel-2010 ×1

excel-2013 ×1