Try this:
VarFinalArr is the Final result with duplicate value in both array

Code:
Option Explicit
Option Compare Text


Sub LMP_Test()


    Dim varFirstArr()                   As Variant
    Dim varSecondArr()                  As Variant
    Dim varFinalArr()                   As Variant
    Dim lngLoop                         As Long
    Dim lngIndex                        As Long
    Dim lngCount                        As Long
    
    With Worksheets("Sheet1")
        varFirstArr = .Range("A1:A5").Value
        varSecondArr = .Range("B1:B4").Value
    End With
    
    lngCount = 1
    For lngLoop = LBound(varFirstArr) To UBound(varFirstArr)
        lngIndex = 0
        lngIndex = GetArrayIndex(varFirstArr(lngLoop, 1), varSecondArr, False)
        If lngIndex > 0 Then
            lngIndex = 0
            ReDim Preserve varFinalArr(1 To lngCount)
            varFinalArr(lngCount) = varFirstArr(lngLoop, 1)
            lngCount = lngCount + 1
        End If
    Next lngLoop
    
    Erase varFirstArr
    Erase varSecondArr
    Erase varFinalArr
    lngLoop = Empty
    lngIndex = Empty
    lngCount = Empty


End Sub


Function GetArrayIndex(ByVal Val As Variant, ByVal varArr As Variant, _
                       Optional blnTranspose As Boolean = True, Optional lngColNo As Long = 1, _
                       Optional blnMatcase As Boolean = False) As Long


    Dim varDataArr              As Variant
    
    GetArrayIndex = 0
    On Error Resume Next
    With WorksheetFunction
        If blnTranspose Then
            varDataArr = .Index(Application.Transpose(varArr), lngColNo)
        Else
            varDataArr = varArr
        End If
        GetArrayIndex = .Match(Val, varDataArr, blnMatcase)
    End With
    On Error GoTo -1: On Error GoTo 0: Err.Clear
    
    varDataArr = Empty


End Function