自动将多个拼写错误的国家/地区名称replace为单个名称

我发现使用Excel反馈表单清理数据非常耗时。 于是,我写了一个VBA代码来检查国家/地区列中的所有单元格,并用一个单独replace国家/地区名称的不同变体。

示例Excel工作表

Sub Test1() Dim val As Long Dim x As Integer NumRows = Range("B2", Range("B2").End(xlDown)).Rows.Count Range("A2").Select For x = 1 To NumRows val = ActiveCell.Value If val = "Us" Or val = "Usa" Or val = "Unites States" Or val = "America" Or val = "United States of America" Then ActiveCell.Value = "USA" Else ActiveCell.Value = "ROW" End If ActiveCell.Offset(1, 0).Select Next 

结束小组

这似乎并不奏效。 我哪里错了? 另外,有没有更好的方法来解决这个问题。

对于初学者来说,'val'不是很长,而是一个string;-)

我总是使用'​​for each c in rng'遍历一个范围内的单元格,这比用cell.offset手动跳过新单元格更好。

尝试这个; 根据你的需要改变'rng'。

 Option Explicit Sub Test1() Dim str As String Dim c As Range Dim rng As Range Set rng = Activesheet.Range("B2:B" & Activesheet.Range("B" & Rows.Count).End(xlUp).row) For Each c In rng str = c.Value If str = "Us" Or val = "Usa" Or str = "Unites States" Or str = "America" Or str = "United States of America" Then c.Value = "USA" Else c.Value = "ROW" End If Next c End Sub