我有一个 Excel 文档,它在第一次运行时将模板工作表复制到新工作表中。遵循此模板的任何其他工作表都会附加到新创建的工作表中。
我在这部分代码的标题中收到错误:
If Worksheets("User Configuration").Cells(9, 15).Value = 1 Then
Worksheets("Cable Cards Template").Range("A1:J33").Copy
With Worksheets("Cable Cards")
**.Range(Cells(RangeStartRow, RangeStartColumn), Cells(RangeEndRow, RangeEndColumn)).PasteSpecial xlValues**
.Range(Cells(RangeStartRow, RangeStartColumn), Cells(RangeEndRow, RangeEndColumn)).PasteSpecial xlFormats
End With
Worksheets("Cable Cards Template").Shapes("Picture 1").Copy
Worksheets("Cable Cards").Paste Cells(RangeStartRow, RangeStartColumn)
Call Sheets.FormatCableCardRows
End If
基本上如果If
语句为 true(单元格 = 1),则应将特定工作表上的范围复制并粘贴到新工作表中指定的范围内PasteSpecial
用于值和格式。接下来,“新创建的”工作表应将图像复制到模板的左上角单元格中,然后调用子例程来格式化新工作表的行。
我一开始就收到错误.Range
之后调用With Worksheets("Cable Cards")
陈述。我尝试过不使用With
语句,直接复制值而不是特殊粘贴等。奇怪的是,当通过以下方式创建新工作表时,这将在第一次运行时运行:
If (RangeStartRow = 1) Then
Worksheets.Add().Name = "Cable Cards" ' Create new sheet with given name only on first cable card
Columns(1).ColumnWidth = 9.43
Columns(6).ColumnWidth = 11
Columns(10).ColumnWidth = 9
Call FormatForA5Printing("Cable Cards", 71)
End If
但在第二次的时候,它完全失败了,Run Time Error 1004 'Application Defined or Object Defined Error'
。我将不胜感激任何帮助。