Excel VBA 代码 - 如何调整页面设置以适应不同的行数

Excel VBA 代码 - 如何调整页面设置以适应不同的行数

好的,这就是我的目标。我为库存盘点报告设置了一个工作表。

列包括:

供应商名称 | 当前库存数量 | 实际数量 | 注释

该表的前两列由以下excel公式填充:

=如果 (RepTemp!A2="","", RepTemp!A2)

您已经了解基本概念了。

RepTemp 工作表上有一个数据透视表,它将根据仪表板上为库存选择的地点进行更新。此更新由地点选择触发。

我想要做的是有一个按钮,可以打开打印预览窗口,这样就可以打印报告以完成库存。我的问题是有些地点有多达 200 种不同的产品,有些只有 10 种。我需要代码来确保无论给定位置的产品数量有多少,打印的报告最多只包含 20 行附加行,而不是当前存在的全部 228 行。

这是我开发的代码:

Sub PrintIfNotEmpty()
Dim ra As Range, re As Range, i As Long, R As Range
ShInv.Rows("1:228").EntireRow.Hidden = False
Call Entry_Point
With ShInv
Set ra = .Range("A20:A228")
    For Each re In ra
        If IsEmpty(re.Value) Or re.Value = vbNullString Then
        re.EntireRow.Hidden = True
        End If
    Next re
End With
With ShInv.PageSetup
.Orientation = xlPortrait
End With
ShInv.PrintPreview

Call Exit_Point
End Sub

如果我逐步执行此代码,它就可以正常工作。如果我从编码窗口播放它,它就可以正常工作。如果我将它附加到按钮上,它就不会正常工作。我的问题是:

有没有更简单的方法(通过 VBA)来实现我的目标?

相关内容