Constancia icon

EXCEL_VBA_RASTREATOR

Constancia | PRO | 05/29/14 10:50:05 PM UTC | 0 ⭐ | 275 👁️ | Never ⏰ | []
VB.NET |

1.52 KB

|

None

|

0 👍

/

0 👎

Public Function Rastreator(Valores() As String, hBusca As Worksheet, ColsBusca() As Integer, ColsRes() As Integer) As String()
 
    Dim iFila As Integer, iVal As Integer
    Dim bEncontrado As Boolean
    Dim iRes As Integer, Arr_Res() As String
   
    If UBound(Valores) <> UBound(ColsBusca) Then
        MsgBox "Los Valores de Búsqueda y las Columnas de Búsqueda deben tener los mismos Elementos"
        Exit Function
    End If
   
    '*** Recorremos las Filas de la Hoja de Búsqueda
    For iFila = 2 To hBusca.UsedRange.Rows.Count
     
        ReDim Arr_Res(0)
        bEncontrado = True
     
        '**** Recorremos el Array con los Valores a Buscar y los comparamos con el valor equivalente
        For iVal = 0 To UBound(Valores) - 1
           
            '**** Mientras hay Coincidencia entre los Valores a Buscar y los Rangos de las Columnas equivalentes de Búsqueda Continuamos buscando
            If Trim(UCase(Valores(iVal))) <> Trim(UCase(hBusca.Cells(iFila, ColsBusca(iVal)))) Then
                bEncontrado = False: Exit For
            End If
           
        Next
       
        '**** Si han Coincidido todos los Valores Devolvemos el Array con los resultados
        If bEncontrado Then
        
            For iRes = 0 To UBound(ColsRes) - 1
                ReDim Preserve Arr_Res(iRes)
                Arr_Res(iRes) = Trim(hBusca.Cells(iFila, ColsRes(iRes)))
            Next
        
            Rastreator = Arr_Res: Exit Function
        End If
 
    Next
 
End Function

Comments