我正在尝试让这个宏与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
答案 0 :(得分:0)
在顶部指定Option Explicit
,然后VBE将拒绝编译您的代码并抱怨e32
,g32
和h32
是未声明的变量 - 如果这些意味着要成为活动工作表上的范围地址,它们应分别为Range("E32").Value
,Range("G32").Value
和Range("H32").Value
。
请注意,如果任一单元格包含单元格错误值(例如#VALUE!
),那么比较将会出现 type mismatch 错误。您可以使用例如If IsNumeric(Range("E32").Value) Then
,因此仅在您处理数值时执行比较(错误值无法与任何内容进行比较)。您还可以使用IsError
函数具体测试单元格是否包含错误值。