代码无法按预期工作。VBA代码,用于在满足条件时将值从一张纸复制到另一张纸



我正在编写一个VBA代码,如果源表B的B列中的值更大或等于10,则将VBA代码从一个表复制到另一张。我能够将值从源表复制到目标表。但是,复制的值是错误的。

我尝试更改条件(值大于10(,以查看输出是什么。值不如预期。

Sub findValues()
Dim c As Range
Dim b As Integer
Dim Source As Worksheet
Dim Target

Set Source = ActiveWorkbook.Worksheets("Source2")
Set Target = ActiveWorkbook.Worksheets("Code Trial2")
b = 2
For Each c In Source.Range("B2:B:20")
If c.Value >= 10 Then
Source.Cells(b, "A").Copy
Target.Cells(b, "A").PasteSpecial xlPasteValues
Source.Cells(b, "B").Copy
Target.Cells(b, "B").PasteSpecial xlPasteValues
b = b + 1
End If
Next c
End Sub

源表包含以下内容:瓦尔号A 1b 2C 3D 10
E 12F 13

我希望输出为:10、12、13

但是,在目标表中我得到:1、2、3实际输出

这应该做到:

Option Explicit
Sub findValues()
    Dim c As Range
    Dim b As Integer
    Dim Source As Worksheet
    Dim Target As Worksheet

    Set Source = ActiveWorkbook.Worksheets("Source2")
    Set Target = ActiveWorkbook.Worksheets("Code Trial2")
    b = 2
    For Each c In Source.Range("B2:B20")
        If c.Value >= 10 Then
            Target.Cells(b, "A").Value = c.Offset(0, -1).Value
            Target.Cells(b, "B").Value = c.Value
            b = b + 1
        End If
    Next c
End Sub

相关内容

最新更新