Necesito consejo para mi formulario para la selección de proveedores en Microsoft Excel

Que tal estoy realizando un formulario para la selección de proveedores dependiendo el método escogido en un combobox, según el método me lleva a una hoja especifica donde me debe calcular el mayor valor en un rango, esto lo hace lo que necesito es que se sitúe en la celda que tenga el mayor valor y se mueva determinadas columnas dependiendo la hoja, para la selección 1 y 3 funciona muy bien pero para la opción 2 solo me muestra el dato mayor más no se ubica en la celda de este dato para moverse a la celda sobre la misma fila para mostrarme el proveedor, agradezco la ayuda.
Este es el código que tengo:
Select Case ComboBox1.Value
        Case Is = "Hoja1"
            Sheets(hoja_elegida).Select
            Sheets("Hoja1").Activate
            Dim x As Double
            x = Application.WorksheetFunction.Max(Range("M2:M21"))
            On Error Resume Next
            Cells.Select
            Cells.Find(What:=x, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
            xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
            , SearchFormat:=False).Activate
            ActiveCell.Offset(0, -12).Select
            dato = ActiveCell.Value
            MsgBox "El mejor proveedor segun la seleccion de criterios y de proveedores es " & dato
        Case Is = "Hoja2"
            Sheets(hoja_elegida).Select
            On Error Resume Next
            Sheets("Hoja2").Select
            Dim y As Double
            Dim rang As Range
            rang = Range("B64:B73").Select
            y = Application.WorksheetFunction.Max(Range("B64:B73"))
            Cells.Find(What:=y, After:=ActiveCell).Activate
            ActiveCell.Offset(0, 1).Select
            ActiveCell.Offset(4, 0).Select
            dato = ActiveCell.Value
            MsgBox "El mejor proveedor segun la seleccion de criterios y de proveedores es " & y & dato
        Case Is = "Hoja3"
            Sheets(hoja_elegida).Select
            On Error Resume Next
            Sheets("Hoja3").Select
            Dim z As Double
            Dim ran As Range
            ran = Range("L197:L203").Select
            z = Application.WorksheetFunction.Max(Range("L197:L206"))
            Cells.Find(What:=z, After:=ActiveCell).Activate
            ActiveCell.Offset(0, -11).Select
            dato = ActiveCell.Value
            MsgBox "El mejor proveedor segun la seleccion de criterios y de proveedores es " & dato
    End Select

1 respuesta

Respuesta
1
Si te fijas en la sección del Case = Hoja2, notarás que tenés 2 líneas de selección:
ActiveCell. Offset(0, 1). Select   'esta te posiciona en la misma fila, 1 col a derecha
ActiveCell. Offset(4, 0). Select    'esta te posiciona 4 filas más abajo, en la misma col donde quedó en la anterior, es decir 1 a derecha.
Según tus comentarios, creo que la 2da línea es la que sobra.
Gracias por la pronta respuesta, me han servido todas las explicaciones que ha realizado con otras preguntas y con los ejercicios de la página, respecto a esta pregunta elimine la linea que me comento pero sigue sin funcionarme, me muestra el dato correcto es decir el numero mayor de ese rango pero no me ubica en la celda que tiene el nombre proveedor que se encuentra en la siguiente columna, para la selección 1 y 3 si funciona, agradezco la ayuda.
Enviame tu libro al correo que encontrarás en mi sitio. No olvides recordarme tu alias y motivo de consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas