如果然后打印,请使用vba公式

时间:2018-04-17 00:13:23

标签: vba

我正在尝试让这个宏与excel一起使用。它将查看三个单元格的值,如果任何单元格小于60,它将打印它。如果没有,它将移动到数据验证的下一个名称并继续。它不断打印整个范围。

Sub Macro2()
'
' Macro1 Macro
'
' Keyboard Shortcut: Ctrl+Shift+L
'
Dim r As Long, i As Long

r = Range("SOLDIERS").Cells.Count

For i = 1 To r
    Range("B12") = Range("SOLDIERS").Cells(i)

If e32 < 60 Or g32 < 60 Or h32 < 60 Then
ActiveSheet.PrintOut Copies:=1

Else: End If


Next i


End Sub

1 个答案:

答案 0 :(得分:0)

在顶部指定Option Explicit,然后VBE将拒绝编译您的代码并抱怨e32g32h32是未声明的变量 - 如果这些意味着要成为活动工作表上的范围地址,它们应分别为Range("E32").ValueRange("G32").ValueRange("H32").Value

请注意,如果任一单元格包含单元格错误值(例如#VALUE!),那么比较将会出现 type mismatch 错误。您可以使用例如If IsNumeric(Range("E32").Value) Then,因此仅在您处理数值时执行比较(错误值无法与任何内容进行比较)。您还可以使用IsError函数具体测试单元格是否包含错误值。