Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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,我正在尝试从一个工作表复制到另一个工作表,并且.End属性应该与范围值一起工作,但是错误表明它不是!开发者文档没有帮助,所以我不知道该怎么办 下面的代码,.End(xlup)是引发错误的原因 Dim inputcells As Range Sheets(1).Range("B8:F8").Cut With Worksheets(2).Range("C1000") .End (xlUp) .Offset(1, 0).PasteSpecial xlPasteValues

我正在尝试从一个工作表复制到另一个工作表,并且
.End
属性应该与范围值一起工作,但是错误表明它不是!开发者文档没有帮助,所以我不知道该怎么办

下面的代码,.End(xlup)是引发错误的原因

  Dim inputcells As Range

Sheets(1).Range("B8:F8").Cut


With Worksheets(2).Range("C1000")
    .End (xlUp)
    .Offset(1, 0).PasteSpecial xlPasteValues

End With
这样就行了

Sheets(1).Range("B8:F8").Cut Destination:=Sheets(2).Cells(Sheets(2).Rows.Count, "C").End(xlUp).Offset(1)
如果您试图使用“剪切”粘贴特殊值,则无法使用,您只能使用“复制”粘贴特殊值 一种解决方法是设置范围,然后使范围等于另一个范围

Sub Button1_Click()
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet
    Dim CrNg As Range
    Dim LstRw As Long
    Dim PrNg As Range

    Set sh1 = Sheets(1)
    Set sh2 = Sheets(2)
    Set CrNg = sh1.Range("B8:F8")

    With sh2
        LstRw = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
        Set PrNg = .Range(.Cells(LstRw, "C"), (.Cells(LstRw, "G")))
    End With

    PrNg.Value = CrNg.Value

End Sub
如果需要,您可以在末尾清除
CrNg

这样就可以了

Sheets(1).Range("B8:F8").Cut Destination:=Sheets(2).Cells(Sheets(2).Rows.Count, "C").End(xlUp).Offset(1)
如果您试图使用“剪切”粘贴特殊值,则无法使用,您只能使用“复制”粘贴特殊值 一种解决方法是设置范围,然后使范围等于另一个范围

Sub Button1_Click()
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet
    Dim CrNg As Range
    Dim LstRw As Long
    Dim PrNg As Range

    Set sh1 = Sheets(1)
    Set sh2 = Sheets(2)
    Set CrNg = sh1.Range("B8:F8")

    With sh2
        LstRw = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
        Set PrNg = .Range(.Cells(LstRw, "C"), (.Cells(LstRw, "G")))
    End With

    PrNg.Value = CrNg.Value

End Sub

如果需要,可以在末尾清除
CrNg

使用
Copy
而不是
Cut

Sub ljsh()
    Sheets(1).Range("B8:F8").Copy
    Sheets(2).Range("C1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End Sub

使用
复制
而不是
剪切

Sub ljsh()
    Sheets(1).Range("B8:F8").Copy
    Sheets(2).Range("C1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
End Sub

.End(xlUp)
只是给出了行数。您需要追加
.row
范围
@findwindowno,它返回当前
范围
。End(xlUp)
不执行任何操作。该函数不修改使用它的范围,而是返回一个新的范围。
.End(xlUp)
只是给出了我认为的行数。您需要追加
.row
范围
@findwindowno,它返回当前
范围
。End(xlUp)
不执行任何操作。该函数不修改使用它的范围,而是返回一个新范围。