Excel 如何用VBA实现筛选并存到另一个sheet的指定位置

序号 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如果有变动 之后的表会相应变化 只需要给我做两个工位参考 之后的工位我会自己完成

使“数据”--“筛选”--“自动筛选”,做到如上图所示位置后,在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

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-22

Sub 筛选复制()

    He = Cells(65536, 8).End(xlUp).Row

    Le = Cells(1, 256).End(xlToLeft).Column

    Range(Cells(3, 7), Cells(He, Le)).Copy

    Sheets("Sheet2").Select

    Range("H3").Select

    ActiveSheet.Paste

End Sub

第2个回答  2012-02-23
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的原有数据
第3个回答  2012-02-24
so
243
第4个回答  2012-02-24
ham
241
相似回答