1

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

例如,假设 F 列输入了以下值:
Adj/Aviation & Transportation
Adj/Aviation & Transportation
Adj/Aviation & Transportation
Adj ESL Instructor
Adj/ESL
Adj/Aviation & Transportation
Professor/Aviation
Professor-Aviation
Associate Chair, Professor
Professor
Prof/航空与运输
兼职教授
教授
教授
Adj/航空
教授
Dir Master's Prog/Assoc Prof
Chair/Assoc Prof/Aviation&TS
Adj Asst Prof/Aviation
Assistant Professor/Aviation
Adj.Asst。航空专业

我想浏览此列,如果其中一个单元格包含值“Aviation”,我想清除该单元格中的内容并输入“Aviation & Transportation”。

如果有人能告诉我如何完成这项任务,那就意味着全世界!

4

3 回答 3

1

添加一个新列并使用如下公式填充它:

=IF(NOT(ISERROR(SEARCH("Aviation",B1))),"Aviation & Transportation",B1)
  • 这是未经测试的,可能需要一些语法调整,因为我没有把它放在 excel 中。但它应该为您指明正确的方向。
于 2012-11-12T00:25:59.597 回答
1

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

点击 Ctrl F > Replace > Enter*Aviation*然后写下你想要替换单元格值的任何内容。我测试了它并且它有效。您可以启用或禁用区分大小写。

于 2012-11-12T00:30:16.630 回答
1

试试这个

 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 Sub
于 2012-11-12T11:25:58.343 回答