Constancia

EXCEL_VBA_RASTREATOR

May 29th, 2014
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.52 KB | None | 0 0
  1. Public Function Rastreator(Valores() As String, hBusca As Worksheet, ColsBusca() As Integer, ColsRes() As Integer) As String()
  2.  
  3.     Dim iFila As Integer, iVal As Integer
  4.     Dim bEncontrado As Boolean
  5.     Dim iRes As Integer, Arr_Res() As String
  6.    
  7.     If UBound(Valores) <> UBound(ColsBusca) Then
  8.         MsgBox "Los Valores de Búsqueda y las Columnas de Búsqueda deben tener los mismos Elementos"
  9.         Exit Function
  10.     End If
  11.    
  12.     '*** Recorremos las Filas de la Hoja de Búsqueda
  13.     For iFila = 2 To hBusca.UsedRange.Rows.Count
  14.      
  15.         ReDim Arr_Res(0)
  16.         bEncontrado = True
  17.      
  18.         '**** Recorremos el Array con los Valores a Buscar y los comparamos con el valor equivalente
  19.         For iVal = 0 To UBound(Valores) - 1
  20.            
  21.             '**** Mientras hay Coincidencia entre los Valores a Buscar y los Rangos de las Columnas equivalentes de Búsqueda Continuamos buscando
  22.             If Trim(UCase(Valores(iVal))) <> Trim(UCase(hBusca.Cells(iFila, ColsBusca(iVal)))) Then
  23.                 bEncontrado = False: Exit For
  24.             End If
  25.            
  26.         Next
  27.        
  28.         '**** Si han Coincidido todos los Valores Devolvemos el Array con los resultados
  29.         If bEncontrado Then
  30.        
  31.             For iRes = 0 To UBound(ColsRes) - 1
  32.                 ReDim Preserve Arr_Res(iRes)
  33.                 Arr_Res(iRes) = Trim(hBusca.Cells(iFila, ColsRes(iRes)))
  34.             Next
  35.        
  36.             Rastreator = Arr_Res: Exit Function
  37.         End If
  38.  
  39.     Next
  40.  
  41. End Function
Advertisement
Add Comment
Please, Sign In to add comment