使用Macro打印excel文件.但是,如果一行中的值为0,则跳过它


Sub printF()
Dim i As Long, printFrom As Long, printTo As Long
printFrom = Sheet3.Range("AF6").Value
printTo = Sheet3.Range("AF7").Value
For i = printFrom To printTo
If (Sheet3.Range("AE20").Value > 0) 'This check
Sheet3.Range("AF4").Value = i
Sheet3.PrintOut Preview:=False
Next i
End Sub

它工作得很好,但如果崩溃,我尝试输入检查值。

如果您只是询问如何使用If块。。。。

For i = printFrom To printTo
If Sheet3.Range("AE20").Value > 0 Then
Sheet3.Range("AF4").Value = i
Sheet3.PrintOut Preview:=False
End If
Next i

在进行比较之前,您可能需要添加一个带有IsError的错误检查。

If Not IsError(Sheet3.Range("AE20")) Then
If (Sheet3.Range("AE20").Value > 0) Then
Sheet3.Range("AF4").Value = i
Sheet3.PrintOut Preview:=False
End If
End If

如果单元格中有错误值,则比较Sheet3.Range("AE20").Value > 0将运行时错误13

最新更新