Saltar al contenido

crengifo

Miembro
  • Contador de contenido

    47
  • Unido

  • Última visita

  • País

    Colombia

Todo se publica por crengifo

  1. Buenas noches excelente muchas gracias.
  2. Buenas tardes estimado, no se que quieres decir. Lo que solicito es lo siguiente antes colocaba varias identificaciones y obtenía nombres y el estados de su Rut, pero ahora según la imagen debo hacer que la macro seleccione que es un ser humano al dar el clic en el cuadro para poder extraer los datos. Saludos
  3. Buenas tardes estimado, Tengo una macro de consulta masiva que hasta el año pasado me funcionaba de maravilla. Pero para este año han colocado un captcha y no me esta funcionado. Me gustaría que me ayudaran con este tema de validad el captcha. Adjunto archivo. Saludos Cnsulta.rar
  4. 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
  5. 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.
  6. 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.
  7. Buenos dias estimados, Quisiera que me ayudaran con lo siguiente, tengo una hoja donde debo extraer datos de las columnas N, O, P y R (Molinos 3 y 4) y K, l , M y O (Molino 5) si los hay segun mes solicitado en la celda C2 de la hoja Resistencias de tres procesos para 3 molinos. La idea es que me traiga los días del mes solicitado, el tipo de cemento y las resistencias. Las resistencias están en en las columnas N, O, P y R para los molinos 3 y 4. Y para el molino 5 están en lasa columnas K, l , M y O. Yo tengo una macro pero solo me trae los datos del día que solicito. Adjunto los archivos (Como hago para enviar un archivo que supera los 100kB) Saludos y espera de sus valiosos comentarios. Resistencias.xlsm
  8. 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
  9. Base datos Cementos producido 2024.xlsx
  10. 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.
  11. 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
  12. 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.
  13. Buenas tardes compañero tengo los siguiente, me esta resultado pero no me esta extrayendo el ultimo valor de la columna K del rango especificado, me podrían ayudar creo que es por que tiene celdas vacias dentro del rango especificado. Como solucionaría este impase agradezco sus comentarios. Sub extraer() Dim jh5 As Workbook Dim sh1, jh6 As Worksheet Dim ndatos, uvalor As Double Application.ScreenUpdating = False Set sh1 = ThisWorkbook.Sheets("Hoja1") If sh1.Cells(1, "L").Value = "Mezcla" Then Set jh5 = Workbooks.Open("\\10.7.10.1\calidad\RegCalidad 2024\Molienda de Cemento y Empaque\Base datos Cementos producido 2024.xlsx", ReadOnly:=True) Set jh6 = Sheets("MEZCLA ADICION") ndatos = Application.WorksheetFunction.Count(jh6.Range("K371:K736")) uvalor = Application.WorksheetFunction.Index(jh6.Range("K371:K736"), ndatos) sh1.Cells(1, "N") = uvalor jh6.Activate ActiveWorkbook.Close Else 'Call calizaco End If Application.ScreenUpdating = True End Sub
  14. La macro lo que pretende es hacer lo siguiente: En primera instancia no tenia el checkbox por lo tanto la macro estaba realizando su trabajo en cual consiste en los siguiente. Revisa la columna K de la hoja CALIZA ADICIÓN CTO y compara los dos últimos datos, si el ultimo dato es mayor que el anterior los suma y los divide entre 2, ahora si el ultimo dato es menor toma ese dato. Luego verifica la columna K de la hoja CALIZA ADICION, si el ultimo valor es menor que el obtenido en la fase anterior toma este nuevo valor sino deja el valor anterior. Resulta que no se tomo en cuenta la mezcla de materia prima. Entonces se me ocurrió usar un select que cuando utilicemos la mezcla haga otro procedimiento sino hago el procedimiento ya mencionado y es aquí donde me enrede. Espero haberme explicado. Ahora si de alguna manera se puede mejorar lo que tengo se los agradecería.
  15. Buenos dias gracias por responder, te adjunto el codigo que tiene actualmente la hoja y que trabaja sin problemas. El detalle es que no se tomo en cuenta otra variable y es la que quiero introducior con el CheckBox y es lo que quiero que me ayuden a engranar. O si es posible mejorarlo. Muchas gracias por su apoyo Sub Pignea() Dim jh1, jh3 as Workbook Dim sh1, jh1, jh2, jh3, jh4 as Worksheet Set jh1 = Workbooks.Open("\\10.7.10.1\calidad\SEGUIMIENTO HORA-HORA\PREHOMO.xlsx", ReadOnly:=True) Set jh2 = Sheets("CALIZA ADICIÓN CTO") jh2.Activate jh2.Cells(4, "A").Select JFila = ActiveCell.Row For i = 1 To 4 JFila = jh2.Cells(JFila, "A").End(xlDown).Row Next i JFila = Cells(JFila, "K").End(xlUp).Row End If If jh2.Cells(JFila, "K") < jh2.Cells(JFila - 1, "K") Then Cal1 = jh2.Cells(JFila, "K") Else Cal1 = (jh2.Cells(JFila, "K") + jh2.Cells(JFila - 1, "K")) / 2 End If Set jh3 = Workbooks.Open("\\10.7.10.1\calidad\RegCalidad 2024\Molienda de Cemento y Empaque\Base datos Cementos producido 2024.xlsx", ReadOnly:=True) Set jh4 = Sheets("CALIZA ADICION") For i = 371 To 736 If (Not (jh4.Cells(i, "K") = Empty)) And jh4.Cells(i, "A") = (fecha - 1) And jh4.Cells(i, "B") = "4" Then Cal2 = jh4.Cells(i, "K") Else If Cal2 < 2 Or Cal2 > 59 Then Cal2 = 60 End If End If Next i Filacal = jh4.Cells(736, "K").End(xlUp).Row Cal3 = jh4.Cells(Filacal, "K") If Cal2 = 60 Then Cal4 = Cal3 Else Cal4 = Cal2 End If jh4.Activate ActiveWorkbook.Close If Cal1 < Cal4 Then Caliza = Cal1 Else Caliza = Cal4 End If sh1.Activate sh1.Cells(1, "N") = Caliza jh2.Activate ActiveWorkbook.Close
  16. Buenas tardes estimados, tengo la siguiente macro donde quiero que al seleccionar el checkbox1 me ejecute el primer procedimiento de lo contario siga al siguiente procedimiento, pero me esta tomando el valor en la casilla de adicion del segundo procedimiento. Agradezco me puedan orientar gracias. Sub Dedicion() dim sh1, jh2, jh3, jh4, jh5, jh6 as Worksheet If sh1.CheckBox1.Value = True Then Set jh5 = Workbooks.Open("\\10.7.10.1\calidad\RegCalidad 2024\Molienda de Cemento y Empaque\Base datos Cementos producido 2024.xlsx", ReadOnly:=True) Set jh6 = Sheets("MEZCLA ADICION") jh6.Activate jh6.Cells(4, "A").Select JFila = ActiveCell.Row For i = 371 To 736 JFila = jh6.Cells(JFila, "A").End(xlDown).Row Next i JFila = Cells(JFila, "K").End(xlUp).Row Cal5 = jh6.Cells(JFila, "K") Else Set jh1 = Workbooks.Open("\\10.7.10.1\calidad\SEGUIMIENTO HORA-HORA\PREHOMO.xlsx", ReadOnly:=True) Set jh2 = Sheets("CALIZA ADICIÓN CTO") jh2.Activate jh2.Cells(4, "A").Select JFila = ActiveCell.Row For i = 1 To 4 JFila = jh2.Cells(JFila, "A").End(xlDown).Row Next i JFila = Cells(JFila, "K").End(xlUp).Row End If If jh2.Cells(JFila, "K") < jh2.Cells(JFila - 1, "K") Then Cal1 = jh2.Cells(JFila, "K") Else Cal1 = (jh2.Cells(JFila, "K") + jh2.Cells(JFila - 1, "K")) / 2 End If Set jh3 = Workbooks.Open("\\10.7.10.1\calidad\RegCalidad 2024\Molienda de Cemento y Empaque\Base datos Cementos producido 2024.xlsx", ReadOnly:=True) Set jh4 = Sheets("CALIZA ADICION") For i = 371 To 736 If (Not (jh4.Cells(i, "K") = Empty)) And jh4.Cells(i, "A") = (fecha - 1) And jh4.Cells(i, "B") = "4" Then Cal2 = jh4.Cells(i, "K") Else If Cal2 < 2 Or Cal2 > 59 Then Cal2 = 60 End If End If Next i Filacal = jh4.Cells(736, "K").End(xlUp).Row Cal3 = jh4.Cells(Filacal, "K") If Cal2 = 60 Then Cal4 = Cal3 Else Cal4 = Cal2 End If jh4.Activate ActiveWorkbook.Close If Cal1 < Cal4 Then Caliza = Cal1 Else Caliza = Cal4 End If sh1.Activate sh1.Cells(1, "N") = Caliza jh2.Activate ActiveWorkbook.Close Application.ScreenUpdating = True End Sub Cemento.xlsm Cemento.zip
  17. Compañero JasallBcn muchas gracias por responder, en efecto quedo excelente. Saludos.
  18. Buenos días estimados compañeros. La presente tiene como finalidad me ayuden con el siguiente tema, tengo un formulario el cual registro los pendientes de una persona. El detalle que quiero y no he podido es que al ingresar un nuevo dependiente al guardar me valide por el textbox de identificación si esta duplicado. Agradezco sus comentarios. Saludos Adjunto el archivo. Base_ de_Datos.xlsm
  19. Buenos dias, tengo varias columnas que quiero copiar en otra columna pero una debajo de la otra, me podrian orientar con este tema. Saludos
×
×
  • 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.