好的,这就是我的目标。我为库存盘点报告设置了一个工作表。
列包括:
供应商名称 | 当前库存数量 | 实际数量 | 注释
该表的前两列由以下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)来实现我的目标?