excel将单元格的值复制到新工作表中如果列a =“x”

如果列A =“X”,如何将列G单元格值复制到另一个表单中?

我希望这些值保持下拉列表更新时,我添加或删除任何X的。 下拉列表当前基于表2中的内容dynamic更新。

谢谢

如果同一行的列“A”单元格中的值包含“X”,则会将“Sheet1”的列“G”单元格值复制到“Sheet2”。

 Option Explicit Sub CopyGCellVals() Dim sht1 As Worksheet, sht2 As Worksheet Dim i as Integer, lastRow As Integer, sht2Row As Integer sht2Row = 1 Set sht1 = Worksheets("Sheet1") Set sht2 = Worksheets("Sheet2") With sht1 lastRow=.Cells(.Rows.Count, "A").End(xlUp).Row For i=1 to lastRow If .Cells(i,"A")="X" Then sht2.Cells(sht2Row,"G") = .Cells(i,"G") sht2Row = sht2Row + 1 End If Next End With End Sub 

马特,看看这是否有效

 Dim sheetOrigin As Worksheet sheetOrigin = Worksheets("Name of your origin worksheet") Dim sheetDestination as worksheet sheetDestination = worksheets("Name of your destination worksheet") dim columnA as range Set columnA = Range("A:A") dim columnG as range Set columnG = Range("G:G") Dim cell as Range For Each cell In columnA If cell.Value = "X" Then sheetOrigin.columnG.Select Selection.Copy sheetDestination.columnA.PasteSpecial xlPasteAll End If Next cell 

我不能评论50以下的声誉,所以不幸的是,它会出现一个“答案”我猜。

Amorpheuses的答案很棒,但我的问题非常相似,所以我想添加到这个对话中。 OP只需要从一张纸复制到另一张。 我的问题如下:

*总共有13张(“主人”,然后是“MCL01”,“MCL02”,“MCL03”等等,一直到“MCL12”)。 我需要将通过下拉列表分类的每一行复制到其各自的工作表中。

例如,如果一行数据被分类为“MCL01”,则需要将该行复制到表“MCL01”,并且如果一行数据被分类为“MCL07”,则需要将该行复制到表“ MCL07“等等*

根据上面Amorpheuses的答案中已经写好的代码,我需要多less个整数variables?