Problema con .Find al buscar un String !

Buenas Tardes
Lo que pasa es que tengo unas tablas donde ando combinando datos para actualizar lo que seria un stock, solo que el stock es de 2 tipos en deposito y en transito, ya tengo la macro hecha, solo me apareció un detalle al momento de realizar un .Find buscado una variable String, en mi columna que uso como indice, tengo un valor asd/11 y filas abajo un valor asd/1 el problema es cuando llego a asd/1 al momento de regresar a la tablala búsqueda se queda en asd/11, no se como forzar el .Find a que busque de nuevo el asd/1
por su ayuda muchas gracias, espero sus comentarios
Adjunto Macro
Sub Macro1()
'
' Macro1 Macro
'
' Acceso directo: CTRL+w
'
    Dim cvp     As String
    Dim tons    As Double
    Dim dep     As String
    Dim buscar  As Range
    Range("S190").Select
    Do While ActiveCell.Value <> Empty
    ActiveCell.Offset(1, 0).Select
    If ActiveCell.Value = "OK BU  pendiente" Or ActiveCell.Value = "cargar" Then
        Do While ActiveCell.Value = "OK BU  pendiente" Or ActiveCell.Value = "cargar"
            ActiveCell.Offset(1, 0).Select
            'MsgBox "Favor de checar manualmente, anormalidad localizada en: " & cvp
        Loop
        ActiveCell.Offset(-1, 0).Select
        cvp = ActiveCell.Value
    Else
    cvp = ActiveCell.Value
        If cvp = ActiveCell.Offset(1, 0).Value Then
            MsgBox "Favor de checar manualmente, anormalidad localizada cerca de: " & cvp & ActiveCell.Address
            cvp = ActiveCell.Offset(2, 0).Value
        End If
    Windows("Base stock para actualizar.xls").Activate
    Sheets("Hoja1").Select
    Set buscar = [A:B].Find(What:=cvp)
    If buscar Is Nothing Then
        MsgBox "No he encontrado la CVP. Lo siento." & cvp
        'Vuelve a Backlog INDUSTRIAS
        Windows("Backlog INDUSTRIAS.xls").Activate
        Set buscar = [S:S].Find(What:=cvp)
        Range(buscar.Address).Select
        MsgBox "No he encontrado la CVP. Lo siento." & cvp
        MsgBox "Aquí tienes la palabra " & UCase(cvp) & "."
        ActiveCell.Offset(0, 14).Select
        tons = "0"
        ActiveCell.FormulaR1C1 = tons
        ActiveCell.Offset(0, -14).Select
    Else
        Range(buscar.Address).Select
        MsgBox "Aquí tienes la palabra " & UCase(cvp) & "."
        tons = ActiveCell.Offset(0, 1).Value
        MsgBox tons
        Sheets("Sheet1").Select
        Set buscar = [G:G].Find(What:=cvp)
        Range(buscar.Address).Select
        dep = ActiveCell.Offset(0, -6).Value
        MsgBox dep
        'Volver al backlog INDUSTRIAS
        Windows("Backlog INDUSTRIAS.xls").Activate
        Set buscar = [S:S].Find(What:=cvp)
        Range(buscar.Address).Select
        MsgBox "Aquí tienes la palabra " & UCase(cvp) & "."
        If dep = "D1 - TAMSA" Then
            ActiveCell.Offset(0, 14).Select
            ActiveCell.FormulaR1C1 = tons
            ActiveCell.Offset(0, -14).Select
            MsgBox "Stock Actualizado 1"
        Else
            ActiveCell.Offset(0, 15).Select
            ActiveCell.FormulaR1C1 = tons
            ActiveCell.Offset(0, -15).Select
            MsgBox "Stock Actualizado 2"
        End If
    End If
    End If
    Loop
    MsgBox "Stock Completo Actualizado"
End Sub
P.D. Si en la lista los valores estuvieran primero asd/1 y luego asd/11 no abría problema alguno, pero esto no depende de mi.
Saludos y Gracias

1 Respuesta

Respuesta
1
Realizá la búsqueda indicándole que debe observar en todo el contenido:
Set buscar = [G:G].Find(cvp, LookIn:=xlValues, lookat:=xlWhole)
Sdos. No olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas