Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excel 2010返回:运行时错误';1004';:&引用;范围类的特殊方法失败_Excel_Vba - Fatal编程技术网

excel 2010返回:运行时错误';1004';:&引用;范围类的特殊方法失败

excel 2010返回:运行时错误';1004';:&引用;范围类的特殊方法失败,excel,vba,Excel,Vba,此VBA代码已开始返回错误消息:“运行时错误'1004':“范围类的特殊方法失败” 我使用VBA代码复制并粘贴一些单元格到下一行。我经常连续运行几次。它在第一次运行时从未失败。在开始失败之前,它工作了多年 Sub CopyInfoToLineBelowSamePO_Ctrl_Shft_Y() ' ' CopyInfoToLineBelowSamePO_Ctrl_Shft_Y Macro ' ' Keyboard Shortcut: Ctrl+Shift+Y ' Selection.Cop

此VBA代码已开始返回错误消息:“运行时错误'1004':“范围类的特殊方法失败”

我使用VBA代码复制并粘贴一些单元格到下一行。我经常连续运行几次。它在第一次运行时从未失败。在开始失败之前,它工作了多年

Sub CopyInfoToLineBelowSamePO_Ctrl_Shft_Y()
'
' CopyInfoToLineBelowSamePO_Ctrl_Shft_Y Macro
'
' Keyboard Shortcut: Ctrl+Shift+Y
'
    Selection.Copy
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveCell.Offset(-1, 5).Range("A1").Select
    Application.CutCopyMode = False
    Selection.Copy
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveCell.Offset(0, -5).Range("A1").Select
End Sub
我认为故障发生在这一点(第一次出现):


我不确定为什么您的代码在与以前使用的相同情况下使用时会开始失败。但是,我建议使用下面的代码执行相同的操作:

Sub CopyInfoToLineBelowSamePO_Ctrl_Shft_Y()

ActiveCell.Offset(1, 0).Value2 = ActiveCell.Value2
ActiveCell.Offset(1, 5).Value2 = ActiveCell.Offset(0, 5).Value2
ActiveCell.Offset(1, 0).Select

End Sub
它不使用剪贴板复制和粘贴周围的值,而是直接将下一行中单元格的值设置为其上方的值,然后将所选内容向下移动到下一个单元格


这将避免任何复制/粘贴错误,如果该代码失败,则可以对其进行故障排除。

该错误消息基本上意味着剪贴板中没有任何内容,但我不知道为什么会发生这种情况。我尝试了您的代码,它对我来说运行良好。您能解决您的问题吗?@RayK22很高兴提供帮助。如果这回答了您的问题,我将提供帮助如果您不介意投票/接受,我们将不胜感激。有关StackOverflow的更多信息,请参阅此处:
Sub CopyInfoToLineBelowSamePO_Ctrl_Shft_Y()

ActiveCell.Offset(1, 0).Value2 = ActiveCell.Value2
ActiveCell.Offset(1, 5).Value2 = ActiveCell.Offset(0, 5).Value2
ActiveCell.Offset(1, 0).Select

End Sub