代码在通过 VBA 或单步运行时运行.当宏附加到按钮时不会运行?



我对这一切都比较陌生。 我有一个代码,它获取工作表中的信息并将其设置为打印。 此工作表的数据是从具有 excel 公式的不同工作表中的数据透视表中复制的。 选择位置时,该工作表及其数据透视表首先更新,然后用户可以单击一个按钮,该按钮将使此链接的工作表适应其包含的信息并将其设置为打印。

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

如果我单步执行它(F8(,此代码运行良好,如果我在VBA编码部分中点击播放,则运行良好。 一旦我单击按钮,它就什么也不做。 它显示圆圈就像它在思考一样,并说它正在做工作,但没有。受影响的工作表上不会发生任何更改。

我不知道下一步该怎么做。 有些地点有 228 种产品,有些有 1 种。 我需要代码来调整工作表,以便它只打印清单表所需的内容。

此外,我的仪表板上有一个 EXCEL 列表框供您选择(ActiveX 控件已被阻止(。 从下拉列表中选择项的工作表活动是什么? 它不是 SelectionChange,因为当选择列表中的其他项(即列表框更改(时,该操作不会触发宏。 仅当列表框发生更改,用户按 Tab 键离开列表框,然后再次单击列表框时,才会触发操作。 我只想要一个在列表框更改后立即发生的,而无需所有额外的操作。

这可能是因为它保存为的文件类型。

尝试将其另存为"Excel 二进制工作簿"。也许这可以帮助您运行 worK?

最新更新