您好我需要一些代码的帮助,基本上我有一个工作簿,其中包含大量数据,产品附件列在这些列旁边的行中,所有单元格中都有空白字段的产品,基本上,这一点是当用户在任何这些单元格中键入“x”时,表格就可以被过滤。
我已经制作了一个摘要表,我希望它能够查看这些特定的列,例如列EN,如果它包含“x”,它将复制相应的行,即A,B,C,D并将其粘贴到这个摘要表一个接一个地复制,并从x上面的行中复制产品
e.g
Column E has an x in E4,5,10,15,53
我希望它复制
ABCD4
ABCD5
ABCD10
ABCD15
ABCD53
以及产品名称,例如位于每列第一个空白框正上方的“甜瓜”,可以说E4是第一个空白,因此E3将是产品名称。
将其粘贴在一张又一行的“摘要表”中。
代码我有: 我现在有了这个代码,我几乎就在我想要的地方,我需要帮助就行了
Range("A5").Select
它给了我一个错误,但除非我选择这个单元格,否则它会随机粘贴在工作表上
Private Sub CommandButton9_Click()
Range("A7:D7").Select
Range(Selection, Selection.End(xlDown)).Select ' Go to last line
' Add a filter behavior
Selection.AutoFilter Field:=5, Criteria1:="<>"
Range("A7:D7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' Paste data where you want
Sheets ("Summary Sheet")
Range("A5").Select
ActiveSheet.Paste
End Sub
答案 0 :(得分:0)
这个想法可能是
选择您的数据集
应用过滤器以隔离x为过滤值的行 柱
选择数据并执行复制/粘贴操作
建议的代码示例(应根据您的电子表格进行调整)
' Select your range of data - maybe
Range("A1:E1").Select
Range(Selection, Selection.End(xlDown)).Select ' Go to last line
' Add a filter behavior
Selection.AutoFilter Field:=5, Criteria1:="<>"
Range("A1:E1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' Paste data where you want
Sheets("Feuil2").Select
Range("A1").PasteSpecial Paste:=xlPasteValues