【问题标题】:VBA Code For copying and Pasting with If statement使用 If 语句复制和粘贴的 VBA 代码
【发布时间】:2018-04-08 15:11:25
【问题描述】:

我需要将范围 A1:G200 从一个工作簿复制到当前工作簿(两个工作簿都处于活动状态),但我需要代码仅复制符合 G 列中特定条件的行。G 列仅具有从 0.000 到 0.999 的值。我需要宏来复制范围 A1:G200 但前提是它们在 G 列中的范围 .250.500 之间。

我已经创建了用于复制和粘贴的宏,效果很好,但问题是我对 If 语句不太熟悉。谁能帮我吗?这是我目前所拥有的:

Sub test()

    Dim masterWb As Workbook
    Dim mySht As Worksheet
    Set mySht = ThisWorkbook.ActiveSheet
    Set masterWb = Workbooks("JME") 
    With masterWb.Worksheets.Add
        .Range("A1:G200").Value = mySht.Range("A1:G200").Value
    End With

End Sub

【问题讨论】:

  • 研究if ... then ... else 声明。没有知识,您将无法继续

标签: vba excel if-statement copy-paste


【解决方案1】:

您可以执行此操作的一种方法是逐行粘贴值。只需检查 G 列的条件,如果该行符合条件,粘贴值

Dim ColG As Range
Set ColG = mySht.Range("G1:G200")

Dim CopyCount As Integer
CopyCount = 0

With masterWb.Worksheets.Add
    For Each Cell In ColG
        ThisRow = Cell.Row
        If Cell.Value >= 0.25 And Cell.Value <= 0.5 Then
            CopyCount = CopyCount + 1
            .Range("A" & CopyCount & ":G" & CopyCount).Value = _
                mySht.Range("A" & ThisRow & ":G" & ThisRow).Value
        Else
            'Do Nothing
        End If
    Next Cell
End With

让我知道这是否适合您。尽情享受吧!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    相关资源
    最近更新 更多