如果单元格包含任何文本调用宏,则调用macro2

时间:2019-02-01 18:22:59

标签: excel vba export-to-pdf

我正在使用几乎完成的Excel制作“现场发票”系统,只是做了一些最后的修饰。

我有一个宏,可以根据完成的工作将图纸导出为PDF。但是我被困住了。我有两张“ TICKET”和“ TICKET2”。我需要做的是使用VBA来确定是否使用了“ TICKET2”,然后将“ TICKET”和“ TICKET2”(以及其他一些表)导出为PDF。如果未使用“ TICKET2”,则仅导出“ TICKET”(以及其他工作表)。

当前,如果TICKET2中有一个条目,则TICKET(S49)上的单元格将返回“ Continue to Page 2”:

=IF(TICKET2!C11>0,"Continue to Page 2","")

然后,我尝试使用该单元格通过IF / THEN调用2个宏之一

Sub Export()
Dim page2 As String
page2 = Worksheets("TICKET").Range("S49")
If page2 = "Continue to Page 2" Then Call Save2page Else
    Call Save1page
End If
End Sub

这就是我被困住的地方。

2 个答案:

答案 0 :(得分:0)

这是问题所在

page2 = Worksheets("TICKET").Range("S49")

它返回一个不是字符串的范围。

您需要访问单元格的值

page2 = Worksheets("TICKET").Range("S49").Value

答案 1 :(得分:-1)

我总是说的是简化

=IF(TICKET2!C11>0,1,0)

如果这样做,更容易避免出现区分大小写或双空格之类的错误。

但是在此之后,其余的事情就变得很直接了。

Sub Export()
 Dim page2 As Integer
 page2 = Sheets("TICKET").Range("S49").Value
 If page2 = 1 Then 
    Call Save2page 
    Else
    Call Save1page
 End If
End Sub