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如果有变动 之后的表会相应变化 只需要给我做两个工位参考 之后的工位我会自己完成
展开
 我来答
aldsd_001
2012-02-23 · TA获得超过561个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:264万
展开全部

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

清闲的喜鹊哥
2012-02-22 · TA获得超过134个赞
知道小有建树答主
回答量:89
采纳率:100%
帮助的人:79.5万
展开全部

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NG_677
2012-02-23 · TA获得超过357个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:409万
展开全部
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的原有数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-24
展开全部
so
243
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-24
展开全部
ham
241
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式