代码没有按预期工作。如果条件满足,则将值从一张纸复制到另一张纸的 VBA 代码

用户11427018

如果源工作表的 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

源表包含以下内容: Val Number A 1 B 2 C 3 D 10
E 12 F 13

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

但是,在目标表中我得到: 1, 2, 3 Actual Output

达米安

这应该这样做:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用VBA按照预定顺序将一张纸之间的值复制到另一张纸并将其粘贴到另一张纸上?

VBA仅将某些值的单元格从一张纸粘贴到另一张纸

Excel VBA范围从一张纸到另一张纸的复制(错误1004)

VBA代码仅适用于第一张纸

需要VBA宏-循环将数据从一张纸复制到另一张纸

VBA将数据从一张纸传输到另一张纸

从一张纸到另一张纸的VBA宏读/写速度慢

将数据从一张纸复制到另一张纸的最有效的vba方法

如果满足三个不同条件,如何使用VBA将数据从一张纸复制到另一张纸?

使用VBA将数据从一张纸复制到另一张纸时出错

当宏从另一张纸运行时,如果单元格C为空,则VBA代码清除单元格A和B的内容

VBA将已过滤的字段从一张纸复制到另一张纸而不激活

EXCEL VBA代码未将范围复制到另一张工作表

使用VBA,将所有公式从一张纸复制到另一张纸上,而没有其他内容?

使用VBA将一行从一张纸复制到另一张纸

使用VBA将值从一张纸复制到另一张纸

VBA:从一张纸到另一张纸的多次复制和粘贴

Excel VBA-从一张纸复制到另一张纸>仅复制一行

无法使用VBA将整行从一张纸复制到另一张纸

VBA代码复制并粘贴到另一张纸的最后一行

如果满足条件,则将数据从一张纸复制到另一张纸

VBA - 将数据从一张纸复制到另一张纸

使用 vba 宏代码将特定列从一张纸复制到另一张纸

使用 vba 以相反的顺序将数据从一张纸复制到另一张纸

VBA,使用标题名称将值从一张纸复制到另一张纸

根据多个条件在 VBA 中将随机唯一行从一张纸复制到另一张纸

将列从一张纸复制到另一张纸的 VBA 代码出现间歇性“内存不足”错误

将粘贴值和格式从一张纸复制到另一张纸时出现 VBA 错误 1004

vba循环,以便将特定单元格从一张纸复制到另一张纸