用不同的值replaceExcel工作表中的单元格

我有一个有大约900行数据的Excel工作表,我需要遍历其中一列,并根据当前列中的内容,用不同的值replace该列。

例如,假设列F中input了这些值:
调整/航空与运输
调整/航空与运输
调整/航空与运输
调整ESL讲师
ADJ / ESL
调整/航空与运输
教授/航空
教授,航空
副主席,教授
教授
教授/航空与运输
客座教授
教授
教授
ADJ /航空
教授
Dir硕士课程/副教授
主席/副教授/航空与TS
航空辅助教授
助理教授/航空
Adj.Asst。 教授,航空

我想通过这个列,如果其中一个单元格包含值“航空”我想要清除该单元格中的内容,并input“航空与运输”,而不是。

如果有人能告诉我如何完成这个任务,这将意味着世界!

其实,我有一个更好的解决scheme。 您可以在Find..Replace菜单中使用通配符。

按住Ctrl F>replace>input*Aviation*然后写任何你想要replace的单元格值。 我testing了它,它工作。 您可以启用或禁用区分大小写。

添加一个新的列,并用一个公式填充它:

 =IF(NOT(ISERROR(SEARCH("Aviation",B1))),"Aviation & Transportation",B1) 
  • 这是未经testing的,可能需要一些语法调整,因为我没有把它放在Excel中。 但它应该指出你在正确的方向。

尝试这个

  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代码中使用Autofilter。

开始 在这里输入图像说明 结果 在这里输入图像说明

使用自动filter代码。

 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 Sub