我有一个非常简单但看似无法解决的问题:我想将一系列数据从工作表复制到另一个。
这就是我所做的:
Sub CopyProjectData
Worksheets("Projects").Range(Cells(1001, 1), cells(1002,1).Value = Worksheets("Road").Range(Cells(4, 1), Cells(5, 1)).Value
End Sub
(我在范围内使用了单元格(...),因为将来我想使用动态范围)
然而 - 无论我如何尝试改变语法 - 该死的东西一直在告诉我:
'无法跳转到'工作表',因为它隐藏了'
我做错了什么?
最诚挚的问候, 泽索特
答案 0 :(得分:0)
如果你尝试过这样的事情怎么办。
Sub CopyRange()
Sheets("Projects").Select
Range(Range("A13").Value + ":" + Range("B13").Value).Select
Selection.Copy
Sheets("Road").Select
Range("B3").Select
ActiveSheet.Paste
End Sub
A13的值包含范围左上角单元格的位置。
B13的值包含范围右下方单元格的位置。
范围(B3)是复制数据的目标位置的左上角。
答案 1 :(得分:0)
这是该错误的MSDN page。我想不出你为什么会得到它。
我注意到你错过了一个右括号。在我修改你的代码之前,我得到了一个未指定的应用程序错误。
此外,您的代码并非完全合格,例如,它未指定Workbook
所在的Worksheets
或Sheet
所属的Cells
。所以我冒昧地充实了它。如果没有别的,它应该更容易调试:
Sub CopyProjectData()
Dim cellFrom As Excel.Range
Dim cellTo As Excel.Range
With ThisWorkbook.Worksheets("Road")
Set cellFrom = .Range(.Cells(4, 1), .Cells(5, 1))
End With
With ThisWorkbook.Worksheets("Projects")
Set cellTo = .Range(.Cells(1001, 1), .Cells(1002, 1))
End With
cellTo.Value = cellFrom.Value
End Sub
答案 2 :(得分:0)
有时它与保护工作表有关。检查它是否受“检查”选项卡保护。如果它在Review Label下面显示Unprotect Sheet,那么您可能必须在代码中添加一个命令来取消保护,然后再次保护。
IE中。
ActiveSheet.Unprotect
INSERT CODE HERE FOR YOUR WORKSHEET
Active Sheet.Protect