excel - 试图将一行中的特定列复制到另一个工作表中
问题描述
我对 VBA 很陌生。如果 Column O 具有文本“Open”,则尝试复制行中的特定列。已经尝试过下面的代码,它可以工作,除了它复制整行,我只想复制行但仅限于列 E 到 Q。如何插入列范围要求?
Sub Button2_Click()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
' Change worksheet designations as needed
Set Source = ActiveWorkbook.Worksheets("SheetA")
Set Target = ActiveWorkbook.Worksheets("SheetB")
j = 3 ' Start copying to row 3 in target sheet
For Each c In Source.Range("O13:O1500") ' Do 1500 rows
If c = "Open" Then
Source.Rows(c.Row).Copy Target.Rows(j)
j = j + 1
End If
Next c
End Sub
解决方案
Intersect(Source.Rows(c.Row), Source.Range("E:Q")).Copy Target.Rows(j)
或者
Source.Range("E:Q").Rows(c.Row).Copy Target.Rows(j)
推荐阅读
- python-3.x - ldap3 在 conn.search 之后将用户添加到组
- elasticsearch - 带有布尔查询的弹性搜索聚合
- python - 使用 matplotlib 制作 3D 移动散点图
- regex - 正则表达式字符串查找两个字符串并删除文件中的其余文本,包括不包含字符串的行
- css - select - 如何更改所选选项背景的颜色?
- django - 动态 Wagtail bgcolor 模板标签
- c# - 将两个数据表与公共列结合起来c#
- android - Android Firebase - 本地缓存数据
- tensorflow-lite - 如何让 Kirin 990 的 NPU 在 TensorFlow Lite 上运行?
- wordpress - 使用 ACF 更新/创建自定义帖子类型后在 Wordpress 中调用函数