【发布时间】:2021-11-04 22:49:31
【问题描述】:
您好,我对 VBA 很陌生,所以请原谅我的无知。我试图有一个功能,如果单元格不为空,它将打印(到打印机)选定的范围。它不会打印到打印机,但会返回我的消息框和字符串。我在这里遗漏了什么?
- 单元格 a1 = '88888'
- 单元格 b1 = PrintSelectedArea1(A1) ;返回“Label Printed”和 msgbox,但不打印选择。
- 单元格 a2 = isempty
- 单元格 b2= PrintSelectedArea1(A2) ; 返回“未打印”
我在新模块中添加了这段代码:
Public Function PrintSelectedArea1(r As Range) As String
If Not IsEmpty(r.Value) Then
Worksheets("Label").Range("A1:F13").PrintOut
PrintSelectedArea1 = "Label Printed"
MsgBox ("Printed")
Else
PrintSelectedArea1 = "Not Printed"
End If
End Function
【问题讨论】:
-
你如何调用你的函数?
-
请注意,不能在用作单元格中的公式的用户定义函数 (UDF) 中使用
.PrintOut。 Excel 不支持此功能! UDF 不能操作其他单元格,也不能抛出消息框,也不能打印。 UDF 唯一能做的就是将参数作为输入并将一个值返回给调用它的单元格。