excel中请用VBA提出两列数据中相同的数来。

2025-02-23 08:45:04
推荐回答(4个)
回答1:

亲,打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。

 

Sub cz()
Dim f As Range: Dim i, n As Integer
n = 3357: Columns("D").NumberFormat = "@"
For i = 3357 To 3343 Step -1
    Set f = Range("B3343:B3357").Find(Range("A" & i).Value)
    If Not f Is Nothing Then Range("C" & n).Value = i: Range("D" & n).Value = Range("A" & i).Value: n = n - 1
Next
End Sub

回答2:

利用字典,将B列插入字典的key值,然后循环A列,判断字典的key是否存在,再将存在的行写入后面的列。前提是如果B列不重复的话!

Sub 查找()

    Set d = CreateObject("Scripting.Dictionary")

    h = [b65536].End(3).Row

    arr = Range("b1:b" & h)

    For i = 1 To UBound(arr, 1)

        d.Add val(arr(i, 1)), ""

    Next i

    For i = h To 1 step -1

        If d.exists(val(Cells(i, 1))) Then

            Cells(h, 3) = i

            Cells(h, 4) = Cells(i, 1)

            h = h - 1

        End If

    Next

End Sub

回答3:

弄错了 一个问题  现改正

Sub jk()

 Dim i, j, k

 i = [a65536].End(3).Row

 Cells(i, 3).Select

 For j = i To 1 Step -1

  For k = i To 1 Step -1

  If Cells(j, 1) = Cells(k, 2) Then

  Selection = j

  Selection.Offset(0, 1) = Cells(j, 1)

  Selection.Offset(-1, 0).Select

  End If

  Next

 Next

End Sub

回答4:

A列本身有没有重复,B列本身有没有重复?