Jump to content

Recommended Posts

Posted

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.

Posted

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

Posted

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.

Posted

Prueba y comenta, puedes tener los libros cerrados pero deben estar en la misma ruta que el archivo Cemento

image.gif

Posted
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...
Posted
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.

 

Posted
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)

Posted

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.

Posted
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

Posted
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

Posted

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

Posted
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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Privacy Policy