我有一个包含大约900行数据的excel表,我需要遍历其中一列,并根据当前列中的内容用不同的值替换该列的值。
例如,假设F列输入了以下值:
助理法律顾问/航空及运输
助理法律顾问/航空及运输
助理法律顾问/航空及运输
调整ESL讲师
Adj/ESL
助理法律顾问/航空及运输
教授/航空
教授-航空
副院长,教授
教授
教授/航空及运输
兼职教授
教授
教授
助理法律顾问/航空
教授
目录硕士的进度/关联教授
主席/副教授/航空及运输及运输
助理教授/航空
助理教授/航空学
Adj.Asst。教授-航空
我想遍历这一列,如果其中一个单元格包含值“航空”,我想要清除该单元格中的内容,并输入“航空和运输”。
如果有人能告诉我如何完成这项任务,那将意味着整个世界!
发布于 2012-11-12 08:30:17
实际上,我有一个更好的解决方案。您可以在Find..Replace菜单中使用通配符。
点击Ctrl F> Replace > Enter *Aviation*,然后写入想要替换单元格值的任何内容。我对它进行了测试,它工作正常。您可以启用或禁用区分大小写。
发布于 2012-11-12 08:26:00
添加一个新列,并使用类似如下的公式填充该列:
=IF(NOT(ISERROR(SEARCH("Aviation",B1))),"Aviation & Transportation",B1)发布于 2012-11-12 19:25:58
尝尝这个
Sub replace()
Dim Rws As Long, Rng As Range, c As Range
Rws = Cells(Rows.Count, "F").End(xlUp).Row
Set Rng = Range(Cells(1, 6), Cells(Rws, 6))
For Each c In Rng.Cells
If c Like "*Aviation*" Then c = "Aviation & Transportation"
Next c
End Sub您还可以在VBA代码中使用自动筛选。
开始

结果

使用自动筛选代码。
Sub Button1_Click()
Dim Rws As Long, Rng As Range, c As Range
Rws = Cells(Rows.Count, "F").End(xlUp).Row
Columns("F:F").AutoFilter Field:=1, Criteria1:="=*Aviation*"
Set Rng = Range(Cells(2, 6), Cells(Rws, 6)).SpecialCells(xlCellTypeVisible)
Rng.Value = "Aviation & Transportation"
ActiveSheet.AutoFilterMode = 0
End Subhttps://stackoverflow.com/questions/13336915
复制相似问题