匹配同一行

时间:2017-11-08 09:42:57

标签: excel multiple-columns

我想匹配2列中的数据,所以如果数据同时出现在A列和B列中,则B中的数据放在同一行

为了使这个稍微复杂一点,我在C栏中的数据必须遵循B栏

例如

column A         Column B          Column C
Test1            Test3              james
Test3            Test1              john

当我运行代码时,我需要以下结果

column A         Column B          Column C
Test1            Test1              john
Test3            Test3              james

任何帮助都会很棒

此致

西蒙

1 个答案:

答案 0 :(得分:0)

它不是美妙的,但它确实起作用了。 :)

子测试() Dim i As Integer,j As Integer Dim strTempB As String,strTempC As String

i = 4

Do While ThisWorkbook.Sheets("Ark1").Range("A" & i).Text <> ""
    j = 4
    Do While ThisWorkbook.Sheets("Ark1").Range("B" & j).Text <> ""

        If ThisWorkbook.Sheets("Ark1").Range("A" & i).Text = ThisWorkbook.Sheets("Ark1").Range("B" & j).Text Then
            strTempB = ThisWorkbook.Sheets("Ark1").Range("B" & i).Text
            strTempC = ThisWorkbook.Sheets("Ark1").Range("C" & i).Text


            ThisWorkbook.Sheets("Ark1").Range("B" & i).Value = ThisWorkbook.Sheets("Ark1").Range("B" & j).Text
            ThisWorkbook.Sheets("Ark1").Range("C" & i).Value = ThisWorkbook.Sheets("Ark1").Range("C" & j).Text
            ThisWorkbook.Sheets("Ark1").Range("B" & j).Value = strTempB
            ThisWorkbook.Sheets("Ark1").Range("C" & j).Value = strTempC
        End If

        j = j + 1
    Loop
    i = i + 1
Loop

End Sub