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
如何在VBA中粘贴行_Vba_Excel_Listbox - Fatal编程技术网

如何在VBA中粘贴行

如何在VBA中粘贴行,vba,excel,listbox,Vba,Excel,Listbox,我正在尝试将选定的行剪切并粘贴到数据的最后一行 我通过选择列表框中的一行来实现这一点。如果我单击CommandButton3,它应该剪切相应的数据行并将其粘贴到单元格的最后一行 这是我的代码(不起作用): 我不明白为什么选择。粘贴行不起作用。我在这里遗漏了什么吗?没有被选中的东西。如果选择是绝对必要的,则在目标为单个单元格时,对一系列单元格或ActiveCell使用选择 几乎所有时候,您都可以放弃Select而选择更直接的单元格引用 For i = 1 To Range("A10000").En

我正在尝试将选定的行剪切并粘贴到数据的最后一行

我通过选择列表框中的一行来实现这一点。如果我单击CommandButton3,它应该剪切相应的数据行并将其粘贴到单元格的最后一行

这是我的代码(不起作用):


我不明白为什么选择。粘贴行不起作用。我在这里遗漏了什么吗?

没有被选中的东西。如果选择是绝对必要的,则在目标为单个单元格时,对一系列单元格或ActiveCell使用选择

几乎所有时候,您都可以放弃Select而选择更直接的单元格引用

For i = 1 To Range("A10000").End(xlUp).Row

    If Cells(i, 1) = ListBox1.List(ListBox1.ListIndex) Then
        Rows(i).Cut destination:=Cells(rows.count, "A").End(xlUp).offset(1, 0)
    End If

Next i

当您准备进入下一个级别时,请阅读。

没有选择的内容。如果选择是绝对必要的,则在目标为单个单元格时,对一系列单元格或ActiveCell使用选择

几乎所有时候,您都可以放弃Select而选择更直接的单元格引用

For i = 1 To Range("A10000").End(xlUp).Row

    If Cells(i, 1) = ListBox1.List(ListBox1.ListIndex) Then
        Rows(i).Cut destination:=Cells(rows.count, "A").End(xlUp).offset(1, 0)
    End If

Next i

当您准备进入下一级别时,请阅读。

选择的方法无效。使用Activesheet而不是“选定”。如
ActiveSheet.Paste

下面是完整的代码

Sub CommandButton3_Click()
Dim i As Integer

For i = 1 To Range("A10000").End(xlUp).Row

    If Cells(i, 1) = ListBox1.List(ListBox1.ListIndex) Then
        Rows(i).Select
        Selection.Cut
        Cells(Range("A10000").End(xlUp).Row + 1, 1).Select
        ActiveSheet.Paste
    End If

Next i
End Sub

所选的不是有效的方法。使用Activesheet而不是“选定”。如
ActiveSheet.Paste

下面是完整的代码

Sub CommandButton3_Click()
Dim i As Integer

For i = 1 To Range("A10000").End(xlUp).Row

    If Cells(i, 1) = ListBox1.List(ListBox1.ListIndex) Then
        Rows(i).Select
        Selection.Cut
        Cells(Range("A10000").End(xlUp).Row + 1, 1).Select
        ActiveSheet.Paste
    End If

Next i
End Sub

谢谢你的回答!我使用了Selection.Paste,错误消息说“Object不支持此属性或方法”,我应该声明单元格。。。作为某个对象,然后使用选择。。。行?删除了上面选择的用法。谢谢你的回答!我使用了Selection.Paste,错误消息说“Object不支持此属性或方法”,我应该声明单元格。。。作为某个对象,然后使用选择。。。行?完全删除了上面选择的用法。但是您应该避免使用
Select
。但是您应该避免使用
Select