将VBA条件语句添加到循环

时间:2016-08-25 14:51:59

标签: vba loops if-statement conditional

所以我下面的代码目前有效。所有数据都在名为"表"并输入一个名为" Att A"它被生成100多个pdf文件,并根据"表"中的A列中的值命名。标签。

我想在下面的代码中添加一个条件语句,用于检查"表"中的列CH中的值。选项卡如果大于0保存在一个位置,如果它等于0,则保存在另一个位置。由于有100多行数据,因此A列中的值需要检查列CH的同一行中的值。

因此,逻辑转到A列(使用此值作为文件名),创建文件,并检查列CH以确定将文件保存到哪个文件夹。如何将此条件添加到以下代码中?

Sub Generate_PDF_Files()
    Application.ScreenUpdating = False
    Sheets("Table").Activate
    Range("A7").Activate

    Do Until ActiveCell.Value = "STOP"
        X = ActiveCell.Value
        Range("DLR_NUM") = "'" & X

        Sheets("Att A").Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "L:\Mike89\Sales" & X & ".pdf", Quality:=xlQualityStandard, _IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

        Sheets("Table").Activate
        ActiveCell.Offset(1, 0).Activate
    Loop
End Sub

1 个答案:

答案 0 :(得分:0)

由于您的代码有效,我们通常会建议您将其发布在Code Review上,但您也需要在条件语句上寻求帮助。

所以快点......

  • 避免选择并激活
  • 使用描述性变量命名
  • 始终定义和设置对工作表和工作簿的引用
  • 从不假设工作表

条件本身非常简单,如下面的示例所示,其中还包含了上述链接中分享的想法:

def process_eq_type_1(div_matrix_element):
    prolist = []
    for element_of_element in div_matrix_element:
        prolist.append([int(element_of_element_of_element > 0)
                        for element_of_element_of_element
                        in element_of_element])
    return prolist