我刚开始使用 Excel 的 VBA 代码,如果这看起来很基本,我深表歉意。我想做以下...
检查名为“索引”的工作表的 J 列(J5 到 J500)是否存在值“Y”。这是我的条件。然后我只想将符合条件的任何行的列 C 复制到 I到现有工作表和不同位置的单元格,即如果复制索引值 C3 到 I3 我想将它们粘贴到 A5 到 G5我所在的活动表,比如 Sheet2。
如果索引表有更改,我希望自动复制数据,如果可能的话。如果将新数据添加到索引中,它会如何工作?
经过大量搜索后,我发现了这个。从这个问题中,我稍微更改了代码以满足我的要求,这会将满足条件的整行复制到我从中运行宏的工作表中,但我对如何仅选择某些列感到困惑。
Sub CopyRowsAcross()
Dim i As Integer
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Index")
Dim ws2 As Worksheet: Set ws2 = ActiveSheet
For i = 2 To ws1.Range("B65536").End(xlUp).Row
If ws1.Cells(i, 2) = "Y" Then ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1)
Next i
End Sub
任何帮助表示赞赏
约翰
编辑:我创建了一个模型,它位于https://docs.google.com/file/d/0B0RttRif9NI0TGl0N1BZQWZfaFk/edit?usp=sharing
复制时不需要 A 和 B 列 - 要么是 J 列 - 这就是我用来检查条件的内容。
感谢您迄今为止的所有帮助。