1

我有一个非常简单但看似无法解决的问题:我想将一系列数据从工作表复制到另一个工作表。

这是我编的:

Sub CopyProjectData
Worksheets("Projects").Range(Cells(1001, 1), cells(1002,1).Value = Worksheets("Road").Range(Cells(4, 1), Cells(5, 1)).Value
End Sub

(我在范围内使用了 Cells(...),因为将来我想使用动态范围)

然而——无论我如何尝试改变语法——这该死的东西一直在告诉我:

'不能跳转到'工作表',因为它是隐藏的'

我做错了什么?

最好的问候, Zsolt

4

3 回答 3

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 的值包含范围右下角单元格的位置。

Range(B3) 是复制数据目的地的左上角。

于 2013-08-15T14:09:35.733 回答
0

这是该错误的MSDN 页面。我想不出你为什么会得到它。

我确实注意到您缺少右括号。在我修改你的代码之前,我得到了一个未指定的应用程序错误。

此外,您的代码不是完全合格的,例如,它没有指定哪个WorkbookWorksheets或哪个SheetCells。所以我冒昧地完全充实了它。如果没有别的,它应该更容易调试:

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
于 2013-08-15T14:10:12.597 回答
0

有时这与保护您的工作表有关。检查它是否在 Review 选项卡下受到保护。如果它在 Review 标签下显示 Unprotect Sheet,那么您可能必须在代码中添加一个命令来取消保护,然后在最后再次保护。

IE。

ActiveSheet.Unprotect

INSERT CODE HERE FOR YOUR WORKSHEET

Active Sheet.Protect  
于 2014-11-11T16:25:00.887 回答