对于VBA中的每个循环意外跳过行

时间:2013-07-04 21:30:48

标签: vba excel-vba excel

我写过这段代码,这是一个更大问题的一部分。最初它应该开始将一些数据从工作表传输到另一个..但它一直跳过行,它复制一个,跳过然后复制另一个,跳过,复制,跳过...我正在使用Select方法来测试而不是复制。

Dim sharepointSheet As Worksheet
Dim masterSheet As Worksheet
Dim sharepointTable As Range

'Auxliary variable
Dim row As Range
Dim cell As Range
Dim RowLast As Long



Set sharepointSheet = ThisWorkbook.Worksheets("Sharepoint List")
Set masterSheet = ThisWorkbook.Worksheets("Master List")

Set sharepointTable = masterSheet.Range("A2", "F133")


For Each row In sharepointTable.Rows
    row.Cells(row.row, 3).Select

   ' RowLast = masterSheet.Cells(Rows.Count, "A").End(xlUp).row + 1
   ' masterSheet.Cells(RowLast, "A").PasteSpecial

Next row

1 个答案:

答案 0 :(得分:3)

您遇到了问题,因为您选择的是相对于row范围而非工作表范围的行。

如果您将选择行更改为以下内容,它将解决您的问题:

masterSheet.Cells(row.row, 3).Select

同样不是因为它可能会让一个范围变得非常混乱,因此将row等变量用作不是一个好主意!