使用VBA如果then语句将数据复制并粘贴到另一个工作簿

时间:2018-02-14 12:56:09

标签: excel-vba vba excel

我对VBA很新,我需要将所有PO数据发布到具有if条件的另一个工作簿,如果条件A上的条件,从A30到A82,如果所述单元格上的任何值大于零,则复制数据到另一张纸。

请参阅下面的代码。我需要帮助来编写IF条件。

Private Sub CommandButton1_Click()

    Set wb = Workbooks.Open("C:\Users\XXX\DSR\LPO Auto\lpodata.xlsx")
    Worksheets("Food").Unprotect Password:="XXXXXX"

    NR = wb.Sheets("Food").Range("A" & Rows.Count).End(xlUp).Row + 1

    With ThisWorkbook.Sheets("PO")
        'If ActiveSheet.Range("A30").Value > 1 Then
        Range("A30:W83").Copy
        wb.Sheets("Food").Range("A" & NR).PasteSpecial xlPasteValues
        Worksheets("Food").Protect Password:="XXXXX"
        ActiveWorkbook.Save
        ThisWorkbook.Activate
        Worksheets("PO").Range("B30:C82").Select
        Worksheets("PO").Range("B30:C82").ClearContents
        Worksheets("PO").Range("H30:H82").Select
        Worksheets("PO").Range("H30:H82").ClearContents
        ActiveWorkbook.Save

    End With


    'wb.Close savechanges:=True
End Sub

1 个答案:

答案 0 :(得分:0)

尝试这样的循环,这将迭代定义范围中的每个单元格:

For Each cell In .Range("A30:A82").Cells
    if cell.Value > 0 Then
       //your code
    end if
Next