复制和粘贴数据时出现错误1004

时间:2015-01-27 16:37:02

标签: excel vba excel-vba

我收到错误消息,运行时错误1004(应用程序定义或对象定义错误)。

基本上,在第30列(无论对应的字母),它应该复制并粘贴某个选择。接下来,根据投标人的数量,让我们说2,每隔8列,就会有另一个需要复制并粘贴到新工作表的选择。

所以说我有2个投标人:

然后需要将第30列和第38列复制并粘贴到另一个工作表中。有人可以帮我从这里出去吗?输入弹出我没有问题,但是一旦它到达这个部分开始复制并粘贴列,就会出现错误消息。

''''Get adsad
For i = 0 To bidNum - 1
Range(colRange.Offset(0, 30 + i * 8)).Select
Range(colRange.Offset(0, 30 + i * 8)).EntireColumn.Copy
Worksheets("Per FOB Delivered").Activate
colRange.Offset(0, 11 + i).Select
colRange.Offset(0, 11 + i).Paste
With Selection
.HorizontalAlignment = xlGeneral
.Font.Name = "Calibri"
.Font.Size = 10
.EntireColumn.AutoFit
End With
Next i
ActiveCell.Offset(0, -10).Range("A1").Select
Sheets("Master Calc").Select

声明在这里:

'Declarations
Dim bidNum As Integer
Dim colRange As Range
Set colRange = Range("A1")

'User Input
bidNum = InputBox("Please Enter the number of bidders: ")

编辑:我相信我已将问题缩小到这个范围:     工作表("按FOB交付")。激活 我设置了所有注释和代码工作,然后我逐行,当我到达这部分代码时它停止工作(提示错误消息)。 我试过了:

ActiveWorkbook.Sheets("Per FOB Delivered").Activate 

它也没有用。为了记录,我的代码确实创建了该页面,直到这一部分为止(没有列出因为它有点长)。

这里有一些其他代码完全正常的代码片段,请注意,此部分在另一部分之前,并且还有其他类似的部分。我列出的代码没有错误:

'Get Current Net FOB Overage /lb
Range("P1").Select
Range("P1").EntireColumn.Copy
Sheets("Per FOB Delivered").Activate
ActiveCell.Range("J1").Select
ActiveSheet.Paste
    With Selection
        .HorizontalAlignment = xlGeneral
        .Font.Name = "Calibri"
        .Font.Size = 10
        .EntireColumn.AutoFit
    End With
ActiveCell.Offset(0, -9).Range("A1").Select
Sheets("Master Calc").Select

1 个答案:

答案 0 :(得分:0)

评论中已经提到过,但你应该避免使用。尽可能选择。通常它是不必要的,如果你避免它,你的代码将运行得更快,看起来更简单。

关于您的问题,请使用

colRange.Offset(0, 11 + i).PasteSpecial 

而不是.Paste,合并后的细胞不应该有所作为。