excel - 代码没有按预期工作。如果条件满足,VBA代码将值从一张表复制到另一张表
问题描述
如果源表的 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 实际输出
解决方案
这应该这样做:
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
推荐阅读
- python - python编程中迭代器和生成器的实际用例是什么?
- java - 当我尝试从github导入项目或在eclipse中提交到github时,用户和密码登录弹出窗口不断提示
- rust - 具有内部元组和特定值的 rust 枚举
- c# - Word 互操作:无法对形状进行分组
- c++ - 找不到 CMake 静态库
- node.js - 构建 docker 映像时找不到 server.tsx 模块
- c++ - 为什么在定义/初始化静态成员时可以访问私有构造函数?
- linux - Linux:tee的使用误区
- c++ - C++17 的文件系统命名空间问题
- python - Arduino Python串口鼠标点击