我对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
答案 0 :(得分:0)
尝试这样的循环,这将迭代定义范围中的每个单元格:
For Each cell In .Range("A30:A82").Cells
if cell.Value > 0 Then
//your code
end if
Next