如果列表A中有任何等于B的值,则比较值A和B的两个列表

时间:2015-05-12 11:38:57

标签: excel excel-vba vba

如果A中的任何值等于列表B中的值,如何比较两个值列表BA,然后写入行号使用Excel / macro / VBA在列A中的值前面的B列。

2 个答案:

答案 0 :(得分:0)

您想使用以下公式

= MATCH(ListAVariable, $B:$B:,0)

将其放在专栏C中 - 然后使用

=CONCATENATE(BX, " ", CX) 

在专栏D

答案 1 :(得分:0)

使用此VBA:

Sub Test()
    Dim ws As Worksheet
    Dim i As Long, j As Long, k As Long
    Dim strValueB As String, strValueA As String

    Set ws = ActiveSheet

    Do
        i = i + 1: j = 0
        strValueB = ws.Cells(i, 2).Value    '2 -> Column B
        If (strValueB = "") Then Exit Do

        Do
            j = j + 1
            strValueA = ws.Cells(j, 1).Value    '1 -> Column A
            If (strValueA = "") Then
                k = 0
                Exit Do
            ElseIf (strValueB = strValueA) Then
                k = j
                Exit Do
            End If
        Loop

        If (k > 0) Then
            ws.Cells(i, 3).Value = k    '3-> Column C
        End If
    Loop
End Sub