Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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,我正在尝试剪切指定单元格为空的行,然后将其粘贴到同一工作簿中的另一张工作表中。我的编码可以很好地删除行,但我尝试剪切和粘贴的所有内容都会不断给我带来错误。以下是删除行的工作代码: Sub Remove() 'Remove No Denovo &/or No Peak Seq Dim n As Long Dim nLastRow As Long Dim nFirstRow As Long Dim lastRow As Integer Ac

我正在尝试剪切指定单元格为空的行,然后将其粘贴到同一工作簿中的另一张工作表中。我的编码可以很好地删除行,但我尝试剪切和粘贴的所有内容都会不断给我带来错误。以下是删除行的工作代码:

Sub Remove()

    'Remove No Denovo &/or No Peak Seq
    Dim n As Long
    Dim nLastRow As Long
    Dim nFirstRow As Long
    Dim lastRow As Integer

    ActiveSheet.UsedRange

    Set r = ActiveSheet.UsedRange
    nLastRow = r.rows.Count + r.Row - 1
    nFirstRow = r.Row

    For n = nLastRow To nFirstRow Step -1
        If Cells(n, "G") = "" Then Cells(n, "G").EntireRow.Delete
    Next n

End Sub

谢谢你的帮助

如果要剪切和粘贴,请参见以下内容:

With Sheet1
    .Range("A1").Cut Sheeet2.Range("A1")
End With
在活页1的单元格A1中高于剪切值,并将其粘贴到活页2的单元格A1上。
现在,如果要将其合并到代码中,请参见下面的内容。

Dim i As Long: i = 1
With Activesheet
    For n = nLastRow To nFirstRow Step -1
        If .Cells(n, "G") = "" Then
            .Cells(n, "G").EntireRow.Cut Sheet2.Cells(i, "A")
            .Cells(n, "G").EntireRow.Delete '~~> if you want to delete
            i = i + 1
        End If
    Next
End With
上面的代码剪切所有单元格为空的行,并将其粘贴到从A1开始的Sheet2中。

注意:我上面使用的Sheet2和Sheet1是工作表代码名。

如果要剪切和粘贴,请参见以下内容:

With Sheet1
    .Range("A1").Cut Sheeet2.Range("A1")
End With
在活页1的单元格A1中高于剪切值,并将其粘贴到活页2的单元格A1上。
现在,如果要将其合并到代码中,请参见下面的内容。

Dim i As Long: i = 1
With Activesheet
    For n = nLastRow To nFirstRow Step -1
        If .Cells(n, "G") = "" Then
            .Cells(n, "G").EntireRow.Cut Sheet2.Cells(i, "A")
            .Cells(n, "G").EntireRow.Delete '~~> if you want to delete
            i = i + 1
        End If
    Next
End With
上面的代码剪切所有单元格为空的行,并将其粘贴到从A1开始的Sheet2中。

注意:我上面使用的Sheet2和Sheet1是工作表的代码名。

我将.Delete改为.Cut,效果很好,但是当我沿着工作表的线条(“DENOVO”).Range(“A”&I”).Paste(哦,上面的一行是I=1,下面的一行是I=I+1)在下面添加另一行时,会出现错误。我已经试过了。PasteSpecial和其他一些,只是太多了以至于记不住。Paste方法只适用于Sheet对象。因此,您想剪切并粘贴到另一张图纸,而不是删除?上面的代码相同吗?这就是你想要的吗?我确实想从一张纸上剪下来粘贴到另一张纸上。如果需要一个不同的代码就可以了。我已经将.Delete改为.Cut,效果很好,但是当我沿着图纸的线条(“DENOVO”).Range(“a”&I”).Paste(哦,上面的一行I=1,下面的一行I=I+1)在下面添加另一行时,它会给我一个错误。我已经试过了。PasteSpecial和其他一些,只是太多了以至于记不住。Paste方法只适用于Sheet对象。因此,您想剪切并粘贴到另一张图纸,而不是删除?上面的代码相同吗?这就是你想要的吗?我确实想从一张纸上剪下来粘贴到另一张纸上。如果需要不同的代码,那很好。谢谢!有没有办法让它也删除该行,这样就不会有空行?我知道怎么做,但它可以合并吗?是的,它可以合并。在剪切之前的代码后添加要删除的代码。看我的编辑。哦,我现在有点傻了。谢谢谢谢有没有办法让它也删除该行,这样就不会有空行?我知道怎么做,但它可以合并吗?是的,它可以合并。在剪切之前的代码后添加要删除的代码。看我的编辑。哦,我现在有点傻了。谢谢