Excel 在同一行上匹配3列数据

Excel 在同一行上匹配3列数据,excel,multiple-columns,Excel,Multiple Columns,我想匹配两列中的数据,因此如果数据同时出现在A列和B列中,那么B列中的数据将放在同一行中 为了使这个问题稍微复杂一点,我在C列中有数据,必须在B列之后 乙二醇 当我运行代码时,我需要以下结果 column A Column B Column C Test1 Test1 john Test3 Test3 james 任何帮助都会很好 问候 西蒙:这不管用,但它能起作用

我想匹配两列中的数据,因此如果数据同时出现在A列和B列中,那么B列中的数据将放在同一行中

为了使这个问题稍微复杂一点,我在C列中有数据,必须在B列之后

乙二醇

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

column A         Column B          Column C
Test1            Test1              john
Test3            Test3              james
任何帮助都会很好

问候


西蒙:这不管用,但它能起作用

子测试() 尺寸i为整数,j为整数 将strTempB设置为字符串,将strTempC设置为字符串

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
i=4
执行此工作簿.Sheets(“Ark1”).Range(“A”和i).Text“
j=4
执行此工作簿.Sheets(“Ark1”).Range(“B”和“j”).Text“
如果ThisWorkbook.Sheets(“Ark1”).Range(“A”和i).Text=ThisWorkbook.Sheets(“Ark1”).Range(“B”和j).Text,则
strTempB=thispoolk.Sheets(“Ark1”).范围(“B”和“i”).文本
strTempC=thispoolk.Sheets(“Ark1”).范围(“C”和“i”).文本
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
此工作簿.Sheets(“Ark1”).Range(“B”和“j”).Value=strTempB
此工作簿.Sheets(“Ark1”).Range(“C”和“j”).Value=strTempC
如果结束
j=j+1
环
i=i+1
环
端接头

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