Foros del Web » Soporte técnico » Ofimática »

Dudas con esta macro de buscar

Estas en el tema de Dudas con esta macro de buscar en el foro de Ofimática en Foros del Web. HECREADO UNA MACRO Q BUSCA UN NUMERO TEL EN OTRO ARCHIVO Q HABRO CON UNA VENTANA DE DIALO Y LUEGO REALIZA LA BUSQUEDA DE LOS ...
  #1 (permalink)  
Antiguo 20/09/2012, 20:22
Avatar de mko
mko
 
Fecha de Ingreso: agosto-2010
Ubicación: la vida es un riesgo
Mensajes: 101
Antigüedad: 13 años, 8 meses
Puntos: 14
Dudas con esta macro de buscar

HECREADO UNA MACRO Q BUSCA UN NUMERO TEL EN OTRO ARCHIVO
Q HABRO CON UNA VENTANA DE DIALO Y LUEGO REALIZA LA BUSQUEDA
DE LOS NUMERO DE LA LIBRO1 EN LA HOJA 1 EN LA COLUMNA 1

RECORRO LA COLUMNA 1 POR FILA Y BUSCO EN LIBRO2( HOJA1 Y HOJA2)
SI EXISTE Q ME DIGA SI ES UN NUMERO FIJO O MOVIL
EL PROBLEMA ES QUE
CUANDO SON MENOS DE 1000 FILAS POR HOJA EN EL LIBRO 2
SI REALIZA TODO CORRECTAMENTE PERO MAS DE 1000 NO ME FUNCIONA
NO ME MANDA NINGUN MSJ DE ERROR ES COMO SI NO ENCONTRAR NINGUNA COINCIDENCIA
DEJO EL CODIGO PARA Q LO VEAN Y ME PUEDAD ORIENTAR EN QUE ME EQUIVOCO
DE ANTEMANO GRACIAS
Código:
Sub Buscar()
Dim RangoBusqueda, RangoBusqueda2 As Range
Dim Resultado, Valor
Dim I As Double
Dim UfL21 As Double
Dim UfL22 As Double

milibro = Application.GetOpenFilename  'selecioono un archivo
Workbooks.Open milibro
libroA = ActiveWorkbook.Name
libro = VBA.Mid(libroA, 1, VBA.InStr(libroA, ".x") - 1)

UfL21 = Workbooks(libro).Sheets(1).Cells(65536, 1).End(xlUp).Row 'verifico la ultima fila ocupada de la hoja1 del libro q abri
UfL22 = Workbooks(libro).Sheets(2).Cells(65536, 1).End(xlUp).Row 'verifico la ultima fila ocupada de la hoja2 del libro q abri

Set RangoBusqueda = Workbooks(libro).Sheets(1).Range("B1:F" & UfL21) 'especifico el rango de busqueda para la hoja1
Set RangoBusqueda2 = Workbooks(libro).Sheets(2).Range("B1:C" & UfL21) 'especifico el rango de busqueda para la hoja2
'verifico la ultima fila ocupada del libro1 donde tengo la macro en la columna 1 (a)
Uf = Workbooks(1).Sheets(1).Cells(65536, 1).End(xlUp).Row

'----------------------------------------------------------
'recorremos la columa A ", con un for realizando la busqueda en la hoja1 del libro q abri con la ventana de dialogo:
With Workbooks(1).Sheets(1)
    
    
    For I = 1 To Uf
        'tomo el codigo presente en la primer columna:
        Valor = .Cells(I, 1).Value
        'coloco un controlador de errores:
        On Error Resume Next
        ResultadoF = Application.WorksheetFunction.VLookup(Valor, RangoBusqueda, 5, False)
        Resultado1F = Application.WorksheetFunction.VLookup(Valor, RangoBusqueda, 6, False)
  
         If Err.Number = 1004 Then
            
            Err.Clear
                 
         Else
            .Cells(I, 8).Value = "FIJO"
            .Cells(I, 9).Value = ResultadoF
            .Cells(I, 10).Value = Resultado1F
            
            
        End If
    Next I
    

End With
'----------------------------------------------------------------------------------------------------------------

'recorremos la columa A ", con un for realizando la busqueda en la hoja2 del libro q abri con la ventana de dialogo:
With Workbooks(1).Sheets(1)
    
    
    For I = 1 To Uf
        'tomo el codigo presente en la primer columna:
        Valor = .Cells(I, 1).Value
        'coloco un controlador de errores:
        On Error Resume Next
        ResultadoM = Application.WorksheetFunction.VLookup(Valor, RangoBusqueda2, 3, False)
        Resultado1M = Application.WorksheetFunction.VLookup(Valor, RangoBusqueda2, 4, False)
  
         If Err.Number = 1004 Then
           
            Err.Clear
                 
         Else
            .Cells(I, 8).Value = "MOVIL"
            .Cells(I, 9).Value = ResultadoM
            .Cells(I, 10).Value = Resultado1M
            
            
        End If
    Next I
    

End With
'-----------------------------------------------------------------------------------------------------------------
Workbooks(libro).Close False
'aviso que terminó el proceso:
MsgBox "finalizado"

'destruyo el rango, para liberar recursos del sistema
Set RangoBusqueda = Nothing
End Sub
__________________
cuando no esperas nada y obtienes todo eso es destino

Etiquetas: dudas, macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:50.