excel - 如果其中的列包含指定值(新工作表中的另一列),如何将行复制到另一个 Excel 工作表?
问题描述
我有一个来自数据集的随机数字子集,我在新数据表中创建了一个新列。但是,我需要使用一个简单的命令将与第一个数据表中的列中的数字关联的行复制到第二个数据表中。我从未使用过 VBA 宏(如果它被称为),但我正在寻找任何能够做到这一点的代码?
这是我发现的一个例子,作为对另一个问题的答案,我试图用我对 excel 宏的有限理解来修改它:
Private Sub CommandButton1_Click()
Copy_Cells()
botRow = 100
For i = botRow To 1 Step -1
If Cells(i, 10).Value = B3:B186 Then
Rows(i).EntireRow.Copy
Rows(i + 1).Insert Shift:=xlDown
End If
Next i
End Sub
我得到的错误是关于语法的。我的问题是我不明白任何代码的含义。原始数据是这样的: 原始数据
这就是我想要输入的内容: 想要的输出
解决方案
我找到了一个完全符合我需要的代码。我从 stackexchange 上的另一个问题中得到它,但我想我会发布以防其他人需要它。
Sub CopyYes()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Dim Condition As Worksheet
Set Source = ActiveWorkbook.Worksheets("source")
Set Target = ActiveWorkbook.Worksheets("target")
Set Condition = ActiveWorkbook.Worksheets("condition")
j = 1 'This will start copying data to Target sheet at row 1
For Each d In Condition.Range("A1:A86")
For Each c In Source.Range("B2:B1893")
If d = c Then
Source.Rows(c.Row).Copy Target.Rows(j)
j = j + 1
End If
Next c
Next d
End Sub
推荐阅读
- unity3d - 增加触摸区域的大小 - Unity
- fsm - NuSMV 中的交换指令
- javascript - IE11长时间运行脚本问题背后的原因是什么?
- codenameone - 发送邮件时,我无法从 Rest ful 中捕获错误
- c++ - 我如何成功地将我的 .h 文件实施到我的主 .cpp 文件中以使其正常运行,例如,es 将非常有帮助,谢谢
- java - 使用 Graphite 将自定义指标写入 InfluxDB
- database - CodeIgniter 数据库连接错误和 driver.php 错误
- javascript - 尽管画布完全适合屏幕,但为什么会有滚动条
- apache - 修复缺少的目录站点 - 可用 apache2 用于部署烧瓶应用程序
- database - 跟踪自定义事件和触发操作