如果其中的一列包含指定的值(新工作表中的另一列),如何将一行复制到另一个 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

我得到的错误是关于语法的。我的问题是我不明白任何代码的含义。 原始数据是这样的: 原始数据

这就是我想输入的内容: 想要输出

我找到了一个代码,它完全可以完成我需要它做的事情。我从堆栈交换上的另一个问题中得到了它,但我想我会发布以防其他人需要它。

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

相关内容

最新更新