0

嗨,我已经尝试过录制宏和从不同论坛获得的代码,但没有任何效果。我想在宏所在的打开工作簿中复制一系列单元格,并将其插入到我通过 Excel.Application 打开的 excel 文件中。这意味着下面的行将被向下移动并且不会被覆盖。然而,发生的事情只是插入了一个空白行,而不是我复制的单元格。这是我当前的代码:

ThisWorkbook.Worksheets("Template").Range("A1:G22").Copy
WORxls.Worksheets("SheetSample").Rows("52:52").Select
WORxls.Application.ActiveWindow.Selection.Insert (xlDown)
4

1 回答 1

0

请检查工作簿是否是只读的并且是否受工作表保护(Debug.Print行),然后在行中放置一个断点(红点)Application.CutCopyMode = False。检查 Debug 行的值,您是否能够手动编辑第 52 行中的数据。您On Error Resume Next在这个 Sub 中有哪些?把它注释掉,看看你是否有错误出现。

ThisWorkbook.Worksheets("Template").Range("A1:G22").Copy
With WORxls.Worksheets("SheetSample")
    Debug.Print "Workbook ReadOnly? " & WORxls.ReadOnly
    Debug.Print "Sheet ProtectContents: " & .ProtectContents
    Debug.Print "Sheet AllowEditRanges: " & .Protection.AllowEditRanges
    Debug.Print "Sheet AllowInsertingRows: " & .Protection.AllowInsertingRows
    .Activate
    .Rows("52:52").Insert Shift:=xlDown
End With
Application.CutCopyMode = False
于 2013-08-19T06:29:02.430 回答