我正在嘗試創建一個 VBA 子程式,以將“子”作業簿中的行附加到 excel“主檔案”中,僅當第 4 個單元格中的行包含“不合格”時(這里提出的想法:圖片)作業簿子項是wkUP和 master 是wkDW,到目前為止我的回圈不起作用,它附加了錯誤的行......
我想我的問題出在表的i和長度上?
Dim i, iLastRow As Integer
Dim oLastRow As ListRow
Dim srcRow As Range
iLastRow = wkUP.Sheets("DATA").ListObjects("TAB1").ListRows.Count
For i = 1 To iLastRow
If wkUP.Sheets("DATA").Cells(i, 4).Value = "nonconformity" Then
Set srcRow = wkUP.Sheets("DATA").ListObjects("TAB1").ListRows(i).Range
Set oLastRow = wkDW.Worksheets("NC").ListObjects("tbl_NC").ListRows.Add
srcRow.Copy
oLastRow.Range.Cells(9).PasteSpecial Paste:=xlPasteValues
End If
Next
萬一
如果有人看到代碼錯誤的地方,我真的很感激,我有點迷路了.. :'(
uj5u.com熱心網友回復:
您i在兩種不同的背景關系中使用:
- 關于表:
.Cells(i, 4) - 關于表:
.ListRows(i)
你需要保持一致;這是一種i僅用于參考表格的方法。
Dim tbl As ListObject
Set tbl = wkUP.Sheets("DATA").ListObjects("TAB1")
Dim lastRow As Long, i As Long
lastRow = tbl.ListRows.Count
For i = 1 To lastRow
If tbl.ListColumns("Answer").DataBodyRange.Cells(i).Value = "nonconformity" Then
Set srcRow = tbl.ListRows(i).Range
...
End If
Next
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360112.html
