Excel 复选框仅在运行主宏后运行
我有一个主窗体(我想我可以这样称呼它),它将Excel表格导出到PDF。我想有一个复选框,允许用户在运行后打开PDF文件,如果它被选中。此时,当单击复选框时,它会尝试运行复选框宏,但如果未选中,则返回错误。代码如下:Excel 复选框仅在运行主宏后运行,excel,vba,Excel,Vba,我有一个主窗体(我想我可以这样称呼它),它将Excel表格导出到PDF。我想有一个复选框,允许用户在运行后打开PDF文件,如果它被选中。此时,当单击复选框时,它会尝试运行复选框宏,但如果未选中,则返回错误。代码如下: Sub CheckBox5_Click() Dim ws As Worksheet Dim chckBox As CheckBox Set chckBox = Sheets("CompileSheet").CheckBoxes("
Sub CheckBox5_Click()
Dim ws As Worksheet
Dim chckBox As CheckBox
Set chckBox = Sheets("CompileSheet").CheckBoxes("CheckBox5")
Set ws = ThisWorkbook.Sheets("Sheet2")
If chckBox.Value = 1 Then
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
OpenAfterPublish:=True
Else
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
OpenAfterPublish:=False
End If
End Sub
请不要犹豫要求澄清。
谢谢。我知道了
我必须将复选框宏保留为空(我不知道您可以这样做),并找出如何查找该框的名称,以及创建工作表后的以下代码是否适用于我:
If xlBook.Sheets("CompileSheet").Shapes("Check Box 5").OLEFormat.Object.Value = 1 Then
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
OpenAfterPublish:=True
Else
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
OpenAfterPublish:=False
End If
谢谢大家的帮助 不要将此代码附加到复选框。而是让通常创建PDF的例程在运行时查看复选框。只需将复选框设为被动开关,由其他代码检查即可。
Set ws=thishworkbook.Sheets(“Sheet2”)
在主宏执行之前,没有Sheet2。我会看看是否能找到答案。谢谢@rbarryyoungh如何将复选框设为被动复选框?我会使用Application.Caller
?@kaligirl“被动”只是表示没有附加任何事件。当您单击它时,不会发生任何事情,它只会更改它自己的状态,您的代码稍后会检查它。