Excel 如何用VBA实现筛选并存到另一个sheet的指定位置
序号P/N-PartNumberUPCFNADescriptionCNGA使用工位SL2.0SL1.6TSE2.0SE2.4SX2.4根据GA使用工位筛选然后存到shee...
序号 P/N - Part Number UPC FNA Description CN GA使用工位 SL2.0 SL1.6T SE2.0 SE2.4 SX2.4 根据GA使用工位 筛选 然后存到sheet2的B7开始的表格中
sheet1中 是一个表格 第一行为 序号 P/N - Part Number UPC FNA Description CN GA使用工位 SL2.0 SL1.6T SE2.0 SE2.4 SX2.4 下面就是对应的数据
要求:按照一个一个的工位存到其他sheet的B7开始的表格中 序号这一列不要存过去 sheet1如果有变动 之后的表会相应变化 只需要给我做两个工位参考 之后的工位我会自己完成 展开
sheet1中 是一个表格 第一行为 序号 P/N - Part Number UPC FNA Description CN GA使用工位 SL2.0 SL1.6T SE2.0 SE2.4 SX2.4 下面就是对应的数据
要求:按照一个一个的工位存到其他sheet的B7开始的表格中 序号这一列不要存过去 sheet1如果有变动 之后的表会相应变化 只需要给我做两个工位参考 之后的工位我会自己完成 展开
9个回答
展开全部
使“数据”--“筛选”--“自动筛选”,做到如上图所示位置后,在G列筛选,筛选完成后使用“宏”就可以把内容复制到sheet2表中。
宏的程序如下:
Sub Macro1()
'
' Macro1 Macro
' 宏由 tsl 录制,时间: 2012-2-23
'
'
Columns("B:AP").Select
Selection.Copy
Sheets("Sheet2").Select
Columns("A:A").Select
ActiveSheet.Paste
Range("A3").Select
Sheets("Sheet1").Select
Application.CutCopyMode = False
Range("B8").Select
Selection.AutoFilter Field:=7
End Sub
展开全部
Worksheets("sheet1").Range("G:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("sheet2").Range("A1"), Unique:=True
这一句代码是获得表1 GA使用工位 这列筛选条件列表,并复制到表2的A列,然后对此列依次循环筛选复制即可完成你要求的工作。
Sub MyMacro()
Worksheets("sheet1").Range("G:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("sheet2").Range("A1"), Unique:=True
endrow1 = Worksheets("sheet1").[G65536].End(xlUp).Row
endrow2 = Worksheets("sheet2").[A65536].End(xlUp).Row
Range("G1").AutoFilter
For i = 2 To endrow2
endrow3 = Worksheets("sheet2").[H65536].End(xlUp).Row + 1
Range("G1").Range("G:G").AutoFilter Field:=7, Criteria1:="=" & Worksheets("sheet2").Cells(i, 1)
Range(Cells(2, 2), Cells(endrow1, 12)).Copy Destination:=Worksheets("sheet2").Range(("C" & endrow3))
Next
End Sub
'Worksheets("sheet2").Cells.ClearContents 这句可以放在第一行,即先清除表2的原有数据
这一句代码是获得表1 GA使用工位 这列筛选条件列表,并复制到表2的A列,然后对此列依次循环筛选复制即可完成你要求的工作。
Sub MyMacro()
Worksheets("sheet1").Range("G:G").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("sheet2").Range("A1"), Unique:=True
endrow1 = Worksheets("sheet1").[G65536].End(xlUp).Row
endrow2 = Worksheets("sheet2").[A65536].End(xlUp).Row
Range("G1").AutoFilter
For i = 2 To endrow2
endrow3 = Worksheets("sheet2").[H65536].End(xlUp).Row + 1
Range("G1").Range("G:G").AutoFilter Field:=7, Criteria1:="=" & Worksheets("sheet2").Cells(i, 1)
Range(Cells(2, 2), Cells(endrow1, 12)).Copy Destination:=Worksheets("sheet2").Range(("C" & endrow3))
Next
End Sub
'Worksheets("sheet2").Cells.ClearContents 这句可以放在第一行,即先清除表2的原有数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-24
展开全部
so
243
243
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-24
展开全部
ham
241
241
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询