Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Vba 切割范围和特殊公式_Vba_Excel - Fatal编程技术网

Vba 切割范围和特殊公式

Vba 切割范围和特殊公式,vba,excel,Vba,Excel,我尝试剪切一系列单元格,然后将相同范围的单元格粘贴到一个单元格上。当我运行这个基本代码时,它仍然会给我运行时错误1004应用程序或对象定义的错误。为什么我会犯这个错误?这是否需要一个数组 Sub Cut_Paste Range("D4:F8").Cut Range("E4:G8").PasteSpecial xlPasteFormulas End Sub 仅使用目标的左上角单元格复制较大范围,然后清除 Sub Cut_Paste with Range("D4:F8")

我尝试剪切一系列单元格,然后将相同范围的单元格粘贴到一个单元格上。当我运行这个基本代码时,它仍然会给我运行时错误1004应用程序或对象定义的错误。为什么我会犯这个错误?这是否需要一个数组

Sub Cut_Paste
    Range("D4:F8").Cut
    Range("E4:G8").PasteSpecial xlPasteFormulas
End Sub

仅使用目标的左上角单元格复制较大范围,然后清除

Sub Cut_Paste
    with Range("D4:F8")
        .copy
        Range("E4").PasteSpecial xlPasteFormulas
        .clear
    end with
End Sub

试试这样:

Sub Cut_Paste
    Range("D4:F8").Cut Destination:=Range("E4:G8")    
End Sub

您可以从工作表中自行测试,但粘贴特殊选项仅在您复制而不是剪切时可用。您可以复制并清除原始单元格。很抱歉,我必须编辑问题,FillRight/clear函数似乎只适用于单列区域,我需要移动3列区域。这段代码能在大于一列的范围内工作吗?可能最好返回到一个特殊的位置,但您只需要目标的左上角。这将从考虑中删除错误的目标范围计算。我认为如果我只使用副本,然后使用pastespecial,然后清除原始副本范围的第一列,它将起作用。这不是使用pastespecial方法