VBA Excel,比较单元格中的字符串

VBA Excel,比较单元格中的字符串,vba,excel,range,Vba,Excel,Range,我的VBA应用程序有问题。在ssheet1中,我的姓名格式为Curry,Steph,每个姓名都有一个id。在changedNames中,我的姓名相同,但另一种格式为Steph Curry,可选id与Curry,Steph相同。如何使我输入的名称像Curry、Steph更改为其他类型Steph Curry并具有相同的id。此外,当我使用RemovedUpplicates方法时,它从id中删除一个数字,但我希望它删除行。提前谢谢 Sub GenerateNames() Dim ssheet1

我的VBA应用程序有问题。在ssheet1中,我的姓名格式为Curry,Steph,每个姓名都有一个id。在changedNames中,我的姓名相同,但另一种格式为Steph Curry,可选id与Curry,Steph相同。如何使我输入的名称像Curry、Steph更改为其他类型Steph Curry并具有相同的id。此外,当我使用RemovedUpplicates方法时,它从id中删除一个数字,但我希望它删除行。提前谢谢

 Sub GenerateNames()

 Dim ssheet1 As Worksheet
 Dim rngen As Worksheet
 Dim rnsheet As Worksheet
 Dim changedNames As Worksheet

 Set ssheet1 = ThisWorkbook.Sheets("Sheet1")
 Set rngen = ThisWorkbook.Sheets("RnGen")
 Set rnsheet = ThisWorkbook.Sheets("RandomNames")
 Set changedNames = ThisWorkbook.Sheets("ChangedNames")

 rngen.Range("A3:A70").Copy rnsheet.Range("A3:A70")
 ssheet1.Range("B3:B70").Copy rnsheet.Range("B3:B70")

  For b = 1 To 70
        For c = b + 1 To 70
            If Cells(b, 2).Value = Cells(c, 2).Value Then
                Cells.RemoveDuplicates

            End If
        Next c
    Next b
End Sub

您可以尝试以下方法:

未测试:

  For b = 70 To 1 step (-1)
        For c = 70 to b + 1 step (-1)
            If Cells(b, 2).Value = Cells(c, 2).Value Then
                Cells(c,2).row.delete
            End If
        Next c
    Next b

Id是在同一单元格中还是在其旁边的单元格中?a列是名称,B列是Id,因此它们在其旁边的单元格中欢迎使用!这里有很多类似的问题(有答案),你查过了吗?--但是如果不了解更多关于你的数据和你正在尝试做的事情,就不可能确切地说出什么能解决你的问题。例如,一个名字是否只有一个“空格”,或者有时会有像“玛丽·简·史密斯”这样的名字。两个列表中的名字是否总是拼写完全相同,或者是否可以缩写,等等(Bob vs Bobby vs Robert vs Rob vs R)。ID是什么样子的?“删除一个数字”是什么意思?如果有例子,描述就更容易理解。如果有像玛丽·简·史密斯这样的名字,名字总是只有一个“空格”,那就是玛丽·简·史密斯,名称拼写完全相同,id类似于12345,但当我使用RemovedDuplicates运行代码时,如果有两个用户具有相同的id,则第一个用户将保留为12345,但第二个用户将使用1234。