使用VBA宏有条件地打印

时间:2014-04-23 20:56:51

标签: excel vba printing conditional-statements

提前感谢您的帮助。我有以下宏工作:

Sub Macro1()

If Cells(3, 4) > 0 Then
Sheets("A-Lawn").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
End Sub

我想要做的是设置一个条件,如果第4列中的金额大于$ 0,那么它会打印各自的Excel工作表。以下是列标题和我的第一个供应商信息。

Contractor  Sheet Name   PPW             Advances
Allen B     Abelcher     $7,947.60    $500.00

因此,如果第4列> 0,然后打印第2栏中列出的表格。我非常新,并感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

假设您在行中有一个工作表名称列表,以下内容将查看所有行并打印所需的工作表:

    Sub Macro1()
    Dim lLastRow    As Long
    Dim i           As Integer
    lLastRow = Cells.Find(What:="*", After:=Range("A1"), SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    For i = 2 To lLastRow

        If Cells(i, 4) > 0 Then
            Sheets(Cells(i, 2).value).PrintOut copies:=1, collate:=True
        End If
    Next i
End Sub