求一段excel宏代码是关于excel高级筛选Sheet1后copy结果到Sheet2,但原来Sheet1的数据保持不变~

求一段excel宏代码是关于excel高级筛选Sheet1后copy结果到Sheet2,但原来Sheet1的数据保持不变~
求一段excel宏代码。
要求:Sheet1中有3000行的10列原始数据,从Sheet1中筛选出所有的G列为“prom”的数据,并将筛选结果放在Sheet2中,Sheet1中数据保持不变~
项目要用到,偶从未接触宏。。。再次拜求啊~~~谢谢先~
比较急哈,本人qq号码:837878276
alt+F11
菜单,插入,模块
将下面代码复制到右边空白区
再存盘退出慧枣陆,重新打开文件。
打开时,按照提示,最终需要选择“启用宏”,第一次用宏,仔细看岩腊excel的任何提示,仔细看
然后alt+F8
里面有一个宏,叫“筛选prom内容”,执行它

Sub 筛选prom内容前顷()
With Sheets(1).UsedRange
Sheets(2).[a1].Resize(.Rows.Count, .Columns.Count) = .Value
End With
With Sheets(2)
For i = 3000 To 1 Step -1
If .Cells(i, 7) <> "prom" Then
.Rows(i).Delete Shift:=xlUp
End If
Next
End With
End Sub
假设sheet1的掘旁第一行为标历散拦肢胡题行.

Sub test()
Sheets("sheet3").Select
Range("a1") = Sheets("sheet1").Range("g1").Value
Range("a2") = "=""=prom"""
Sheets("sheet1").Range("a1:j3000").AdvancedFilter xlFilterCopy, Range("a1:a2"), Range("a3")
End Sub
既然你已经知道运用宏,携凯烂粘贴和运行不用再教你了吧

Sub tt()
Sheets(2).Cells.Clear

For i = 2 To 3000
If Sheets(1).Cells(i, 7) = "prom" Then
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row + 1, 1) = Sheets(1).Cells(i, 1)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 2) = Sheets(1).Cells(i, 2)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 3) = Sheets(1).Cells(i, 3)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 4) = Sheets(1).Cells(i, 4)
Sheets(2).Cells(Sheets(2).Range("A3000"孙知).End(xlUp).Row, 5) = Sheets(1).Cells(i, 5)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 6) = Sheets(1).Cells(i, 6)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 7) = Sheets(1).Cells(i, 7)
Sheets(2).Cells(Sheets(2).Range("辩漏A3000").End(xlUp).Row, 8) = Sheets(1).Cells(i, 8)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 9) = Sheets(1).Cells(i, 9)
Sheets(2).Cells(Sheets(2).Range("A3000").End(xlUp).Row, 10) = Sheets(1).Cells(i, 10)
End If
Next
End Sub
1. 其实根本不用宏,自动筛选复制即可
2.如果真的要用, 也非常简单。录制宏即可,也就是你尺桐自己操作一遍,不过这样旅锋用高级筛选比较好
不会再拆困晌问
就像楼上的朋友说的那样!简单的问题简单处理 别弄那么复杂!用熟悉的手段能解决问题就好!
← 上一篇: 下一篇: →