【发布时间】:2018-02-22 05:43:15
【问题描述】:
我正在尝试将数据从一个工作簿的工作表复制并粘贴到另一个工作簿(2 个不同的工作簿)。但是,只能将数据粘贴到目标工作表上未受保护的单元格中。两个工作表具有相同的结构。如果能得到你的帮助来调试它会很棒,这是我到目前为止所做的总结:
Sub PasteData()
Dim sourceWB As Workbook, targetWB As Workbook, sourceRange As Range, targetRange As Range, scell As Range, tcell As Range
Set sourceWB = Workbooks.Open("Target.xlsx")
Set sourceRange = sourceWB.Sheets("Tsheet").Range("D2:BE109")
Set targetWB = Workbooks.Open("Source.xlsx")
Set targetRange = targetWB.Sheets("Source").Range("D2:BE109")
For Each tcell In targetRange
For Each scell in Range sourceRange
If Not tcell.Locked Then
If Not scell Is Nothing Then
Set tcell = scell
End If
End If
Next scell
Next tcell
End Sub
【问题讨论】:
-
您遇到错误了吗?
-
不,没有错误,但我只是没有看到目标工作簿上的数据
-
只有
tcell.Value = scell.Value,没有Set -
您当前正在为源中的每个单元检查目标中的每个单元。您正在进行 5832² 或 34,012,224 次检查,而不是 5832 次配对考试。