VBA按多个标准剪切和粘贴行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA按多个标准剪切和粘贴行相关的知识,希望对你有一定的参考价值。

我正在尝试编写VBA代码以将一个工作表中的行粘贴/复制到新工作表,只要列H包含我指定的任何值。

当我只设置一个值时,我的当前代码有效,但我希望代码执行,只要我指定的任何值都在单元格中。请指教,谢谢。

Sub CutPastebyAM()

Dim sht1 As Worksheet, sht2 As Worksheet
Dim i As Long

Set sht1 = ThisWorkbook.Worksheets("Data")
Set sht2 = ThisWorkbook.Worksheets("Sheet1")

For i = 2 To sht1.Cells(sht1.Rows.Count, "H").End(xlUp).Row
    If sht1.Range("H" & i).Value = "Laine Sikula" Or "Kim Gotti" Then
        sht1.Range("A" & i).EntireRow.Cut sht2.Range("A" & sht2.Cells(sht2.Rows.Count, "H").End(xlUp).Row + 1)
    End If
Next i

End Sub
答案

差不多了:

编辑 - 复制到不同的工作表

Sub CutPastebyAM()

    Dim sht1 As Worksheet
    Dim i As Long, v, SheetName

    Set sht1 = ThisWorkbook.Worksheets("Data")

    For i = 2 To sht1.Cells(sht1.Rows.Count, "H").End(xlUp).Row

        Select Case sht1.Range("H" & i).Value
            Case "Laine Sikula": SheetName = "Sheet1"
            Case "Kim Gotti": SheetName = "Sheet2"
            Case Else: SheetName = ""
        End Select

        If Len(SheetName) > 0 Then
            With Sheets(SheetName)
                sht1.Range("A" & i).EntireRow.Cut _
                   .Range("A" & .Cells(.Rows.Count, "H").End(xlUp).Row + 1)
            End With
        End If
    Next i

End Sub

以上是关于VBA按多个标准剪切和粘贴行的主要内容,如果未能解决你的问题,请参考以下文章

编程vb.net clipboard 剪切复制粘贴

linux字符界面怎么复制粘贴

使用 Excel VBA 实现复制 粘贴 和保存,并自动运行VBA

将单元格的值剪切并粘贴到vba中的另一个单元格

excel VBA分割数据行生产多个表格

MAC VBA尝试从每个工作表中剪切一个单元格并粘贴到下一个空单元格中的另一张表中