我非常需要使用vba代码来操作excel文件。
要求: 过滤掉哪些用户 1.不活跃(meeans" No") 2.do有一个群集名称(意味着只有空白行保持不变,其余所有必须删除) 3.选择州 BLR,MIA,NCE,MAD空白 4.在城市中选择 班加罗尔,豪恩斯洛,马德里,迈阿密,空白 5.在电子邮件地址中搜索 for @ ora.gmail.com 并用ora删除行。结果 6.将剩余用户保存在单独的表中 - 在相应的列中添加适当的群集名称关联
NCE nce.iis
BLR sin.iis
MAD muc.iis
MIA atl.iis
7.结果必须显示在同一工作簿中的另一个工作表中。如果多次执行,结果必须自动刷新,而不是在工作表中显示空行。
原始数据:
A B C D E F
Name City State email activeconnect clustername
1. Alois Bangalore BLR al@gmail.com Yes
2. Olaf Honslow LON ol@gmail.com Yes muc.iis
3. sree Akp VSKP al@ora.gmail.com No
4. Feher Hungary f@gmail.com Yes EBUD
5. Hajniss No EBUD
6. Maria Italy ITA m@gmail.com Yes EItaly
7. Hari Hungary H@gmail.com Yes EBUD
8. Ponna Madrid MAD p@ora.gmail.com Yes muc.iis
9. puv Miami MIA PUV@gmail.com yes
10. kiran Paris FRA Ki@ora.gmail.com yes
任何人都可以提供一些复杂的代码,因为我用IF语句编写的代码。
这是我的代码
Sub test()
Dim filterrange As Range
Set ws1 = ThisWorkbook.Sheets("sheet1")
Set ws2 = ThisWorkbook.Worksheets.Add(after:=ActiveSheet)
ws2.Name = "abc"
ws1.Activate
Set filterrange = ws1.Cells(2, ws1.Cells(1, Columns.Count).End(xlToLeft).Column) ' get columns e.g. name, state, etc.
filterrange.AutoFilter Field:=11, Criteria1:=Array("GBR" _
, "MAD", "NCE", "="), Operator:=xlFilterValues
filterrange.AutoFilter Field:=21, Criteria1:="Yes" ' activeconnect
filterrange.AutoFilter Field:=24, Criteria1:="=" ' clustername
filterrange.AutoFilter Field:=6, Criteria1:= _
"<>*@sca.com*", Operator:=xlAnd ' e-mail
filterrange.AutoFilter Field:=10, Criteria1:=Array( _
"Madrid", "Sophia-antipolis"), Operator:=xlFilterValues
For Each cell In filterrange.CurrentRegion.SpecialCells(xlCellTypeVisible).Rows
If Cells(cell.Row, 24) = "" Then
Select Case Cells(cell.Row, 11).Value
Case "NCE"
Cells(cell.Row, 24) = "nceiptccm.net"
Case "MAD"
Cells(cell.Row, 24) = "muciptccm.net"
End Select
End If
Next cell
filterrange.SpecialCells(xlCellTypeVisible).Copy
ws2.Activate
ws2.Range("a1").PasteSpecial (xlPasteValues)
End Sub
所需的输出应为:
A B C D E F
Name City State email activeconnect clustername
1. Alois Bangalore BLR al@gmail.com Yes sin.iis
2. puv Miami MIA PUV@gmail.com yes alt.iis
答案 0 :(得分:0)
这是另一种方法。我没有时间在这里测试它,所以你可能需要调整一下。但我想你明白了。
session.saveOrUpdate(film);
答案 1 :(得分:0)
试试这段代码。
Apache CXF
如果您需要更多信息,请查看以下内容:http://guides.rubyonrails.org/association_basics.html和http://www.excel-easy.com/vba/examples/macro-recorder.html