我写过这段代码,这是一个更大问题的一部分。最初它应该开始将一些数据从工作表传输到另一个..但它一直跳过行,它复制一个,跳过然后复制另一个,跳过,复制,跳过...我正在使用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
答案 0 :(得分:3)
您遇到了问题,因为您选择的是相对于row
范围而非工作表范围的行。
如果您将选择行更改为以下内容,它将解决您的问题:
masterSheet.Cells(row.row, 3).Select
同样不是因为它可能会让一个范围变得非常混乱,因此将row
等变量用作不是一个好主意!