Saltar al contenido

Recommended Posts

publicado

Buenos dias compañeros seria posible que me ayuden con el siguiente tema, quiero hacer una macro que me compare los dos últimos datos de una columna dinámica  de tal manera que si el ultimo es mayor tome el promedio de los dos dos datos y si es menor tome ese valor. Además después se compare con el ultimo dato de una columna de otro libro de tal manera que se tome el menor de estos dos. Agradezco en lo que me puedan orientar, estaré atento a sus comentarios.

publicado

Buenos días gracias por responder, dinámica porqué todos los días laboratorio ingresa datos entonces el resultado me varia a diario para poder tomar decisiones. 

Como la consulta la hago desde otra ubicaciones donde debo abrir varios libros. Donde compara dos libros.

Necesito el valor menor de las comparaciones.

Ya envie los archivos.

Saludos

publicado

Buenos días, listo.

El objetivo es que en la celda N1 de la hoja Cemento del libro Cemento se coloque el dato de las comparaciones.

La primera comparación se realiza de los dos últimos datos de la columna K  de la hoja Caliza Adición Cto del Libro Prehomo, de tal manera que si el ultimo valor es mayor realice un promedio de los dos datos y es menor tome ese valor. Ahora la siguiente comparación hace referencia a la columna K de la hoja Caliza Adición del libro Base de datos Cementos producido 2024 con la condición que la columna B debe ser igual a 4, con esta condición toma el ultimo valor de la columna K y lo compara con el dato obtenido en el proceso anterior y de estos se toma el menor.

Saludos y muchas gracias por el apoyo.

publicado
hace 2 horas, JSDJSD dijo:

Buenas tardes estimado JSDJSD, muchas gracias por responder.

En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente:

Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento.

Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta.

Saludos y un fuerte abrazo

 

Cemento-2.xlsm

  • 4 weeks later...
publicado
En 3/12/2024 at 16:10 , JSDJSD dijo:

Buenos días estimado JSDJSD, como podríamos hacer esta sección del código

 ' Obtener el último valor de la columna K en Base de datos Cementos producido 2024
    ' que cumpla con las condiciones en las columnas B y K
    With hojaBaseDatos
        For fila = .Cells(.Rows.Count, "K").End(xlUp).Row To 1 Step -1
            If .Cells(fila, "B").Value = 4 And .Cells(fila, "K").Value <> 0 Then
                ultimoValorBaseDatos = .Cells(fila, "K").Value
                Exit For
            End If
        Next fila
    End With
    
    ' Comparación entre el valor de Prehomo y el último valor de Base de datos
    valorFinal = Application.Min(valorComparacionPrehomo, ultimoValorBaseDatos)
    
    ' Escribir el resultado en la celda N1 de la hoja Cemento
    hojaCemento.Range("N1").Value = valorFinal
 

Exactamente aquir:

If .Cells(fila, "B").Value = 4 And .Cells(fila, "K").Value <> 0 Then

Agregar otra condicion que se n dia anterior al de la consulta. De tal manera que al buscar con estas tres condiciones y no encuentre valor tome el valor valorComparacionPrehomo, si hay valor aplica el codigo:

' Comparación entre el valor de Prehomo y el último valor de Base de datos
    valorFinal = Application.Min(valorComparacionPrehomo, ultimoValorBaseDatos)
    
    ' Escribir el resultado en la celda N1 de la hoja Cemento
    hojaCemento.Range("N1").Value = valorFinal

Saludos y en espera de tus valiosos comentarios.

 

publicado
En 3/12/2024 at 17:31 , crengifo dijo:

me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla).... si dice Mezcla que haga lo siguiente

alguna relacion con tus consultas 'alla' ?

Formato condicional que no modifique formatos anteriores

Seleccionar Checkbox para toma de decisiones

(donde cambiaste de checkbox a lista desplegable por validacion)

publicado

Buenos días Héctor y muchas gracias por responder mis temas.

Si recuerdas el tema del post era un checkbox  (V para Mezcla, F para Caliza), al compañero JSDJSD se me olvido decirle (Como cosa rara jejejeeje) que la macro se ejecutara dependiendo del checkbox. Después al final cambie el checkbox  por la validación desplegable de Caliza o Mezcla, que fue con lo seguimos trabajando hasta ahora.

En el otro foro (Forotodoexcel) te envie una consulta, en lo que puedas me podrías colaborar.

Saludos y un bendecido y prospero año nuevo.

publicado
En 4/12/2024 at 0:31 , crengifo dijo:

En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente:

Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento.

image.thumb.gif.8c12d24627e7870a2088b28a7b415882.gif

publicado
En 4/12/2024 at 0:31 , crengifo dijo:

Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta.

Esta parte no es difícil, inténtalo y si no lo consigues  coméntalo

Cemento.xlsm

publicado

La posible solución te la he dado con el archivo anterior, no vi el nuevo que habías subido, pero bueno puedes adaptarlo perfectamente, no es difícil

publicado
hace 2 horas, JSDJSD dijo:

La posible solución te la he dado con el archivo anterior, no vi el nuevo que habías subido, pero bueno puedes adaptarlo perfectamente, no es difícil

Buenas tardes estimado JSDJSD.

La macro funciona correctamente.

Ahora con respecto a la ultima consulta donde agrego otra condición de la fecha donde esta debe ser igual a la consulta o un día menos (consulta hace referencia  ala celda C2), no doy co esta solución.

La idea es que si el valor con las 3 condiciones (Ultimo valor de la columna K, valor 4 de la columna B y la fecha que mencione anteriormente) es igual a vacio me traiga el dato valorComparacionPrehomo, si al dato hacer la comparcion del menor.

Hice esto pero no me da:

With hojaBaseDatos
        For fila = .Cells(.Rows.Count, "K").End(xlUp).Row To 1 Step -1
            If .Cells(fila, "B").Value = 4 And .Cells(fila, "K").Value <> 0 And .Cells(fecha - 1, "A") Then
                ultimoValorBaseDatos = .Cells(fila, "K").Value
                Exit For
            End If
        Next fila
    End With
    
    If ultimoValorBaseDatos = 0 Then
    valorFinal = valorComparacionPrehomo
    Else
        
    ' Comparación entre el valor de Prehomo y el último valor de Base de datos
    valorFinal = Application.Min(valorComparacionPrehomo, ultimoValorBaseDatos)
    End If
    ' Escribir el resultado en la celda N1 de la hoja Cemento
    hojaCemento.Range("N1").Value = valorFinal

Saludos, cualquier ayuda estare atento.

Te deseo un feliz y prospero año nuevo

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.