Toda la actividad
- Última semana
-
Oscar Alvarado C. se ha unido a esta comunidad
-
Luis Sandoval se ha unido a esta comunidad
-
Enrique Baca se ha unido a esta comunidad
-
Hola a todos! Ya he liberado la nueva versión de mi complemento XUtilities (Ver 0.5). En esta nueva versión ya se cuenta con las siguientes funciones: XJOIN => Viene a emular la función de unir cadenas. XLIKE => Util para validar la estructura de una cadena de texto. XREGEXEXTRACT => Permite extraer una o mas cadenas de texto en base a una expresión regular. XREGEXMATCH => Permite validar si un texto contiene una expresión regular. XREGEXREPLACE => Permite reemplazar todas las cadenas de un texto que coincidan con una expresión regular. XUNIQUE => Permite extraer los valores únicos de un rango de celdas. Estas funciones tienen la ventaja de devolver matrices dinámicas, por lo cual aquellos usuarios que tengan Excel 2021 en adelante deberían verse aun mas beneficiados. Agrego el vídeo de instalación y explicación. Espero estar agregando el ofuscador de código en la versión 1.0 Aquí pueden descargarse la versión mas reciente del complemento (En el apartado de descargas): https://www.xoloapps.net/excel-soluciones/xutilities También dejo un pequeño vídeo mostrando el funcionamiento del complemento en su versión 0.5 Quedo al pendiente de comentarios y observaciones.
-
RYJN68 se ha unido a esta comunidad
-
Benito Bartolomé ha empezado a seguir a Exportar datos numéricos de un Listview a hoja Excel
-
Mira a ver si esto se ajusta más o menos a lo que buscas.
-
-
Hola a todos(as); Estoy teniendo problemas a la hora de exportar valores con formato número o moneda desde mi ListView a la hoja Excel. Exporta pero no le da formato número o moneda. Entiendo que al tener formato como hay "." y "," lo detecta como texto y quería que al insertar los valores en la hoja coja bien formato número o moneda. En el formulario he puesto dos botones, con uno le doy formato número y con otro formato moneda y a continuación hago la exportación a una hoja Excel. Ya he probado incluso reemplazando el punto y la coma pero no he sido capaz y el código se enrevesaba demasiado y al o mejor la solución es mas sencilla que todo eso. Adjunto archivo de ejemplo. MiNumerosListView.xlsm
-
Para mañana creo que te mando algo
-
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.
-
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
-
Israel Cassales ha empezado a seguir a Comparar los dos últimos datos de una columna dinámica
-
¿Por columna dinámica se refiere a que cambia de ubicación, de número de filas que la integran o los registros? Lo anterior se puede solucionar de manera rápida, sencilla y eficiente con funciones: SI(), MAX() y tomar ese valor externo vinculando con el libro. Con VBA también es posible pero ¿qué va a desencadenar el evento? Como ya le han pedido, el libro de ejemplo es importante porque está dejando múltiples decisiones a la deducción. ¿Qué es lo que ha intentado? De tener algo diseñado ¿puede compartirlo? Le recomiendo ampliar su consulta, saludos cordiales.
-
JSDJSD ha empezado a seguir a Comparar los dos últimos datos de una columna dinámica
-
crengifo ha empezado a seguir a Comparar los dos últimos datos de una columna dinámica
-
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.
-
DiegoPC ha empezado a seguir a Extraer día de la semana
-
Hola a todos También funcionaría concatenando =TEXTO(C3&"/"&B3&"/"&A3,"dddd")
-
JasallBcn ha empezado a seguir a AYUDA ima gen e hipervínculo y Seleccionar Checkbox para toma de decisiones
-
Joseph Alvarez se ha unido a esta comunidad
-
Solucionado cuando he optado por sumar los días de lectura a la fecha de comienzo Gracias Duda3.xlsm
-
Buenas tardes. He solucionado esto haciendo una tabla adicional (en la hoja Anual), primero junto los datos que quiero y así ya puedo buscar en ella, pero me encuentro con otro problema. Si una de las búsquedas, en este caso un libro, me deja la fecha de comienzo en un apunte y la de final en otro... me quedo con el dato del primer apunte, que está vacío. (Ejemplo Libro 6) ¿Que puedo hacer para que me devuelva el dato del segundo apunte? Gracias por vuestro tiempo Duda2.xlsm
-
(creo que) no estas contando 'toda la historia' (y te haces trampas tu solo), me explico: (de tu codigo inicial) del libro 'base ... producido.xlsx' 1) cuando consultas la hoja 'mezcla adicion' - que uso das a (o para que sirve) la variable 'Cal5' ??? - solo le asignas un valor pero jamas vuelve a aparecer en el codigo 2) cuando consultas la hoja 'caliza adicion' - por que recorres las filas 371 a 736 (son 366 ciclos -probablemente- innecesarios) ??? - de donde se 'construye' la variable 'fecha' para comparar la columna "A" ??? - hay alguna situacion especial para evaluar SOLO el 'molino 4' ??? 3) por que tanto 'switcheo' entre las variables 'Cal1 a Cal5' para determinar 'caliza' ??? si tienes mas 'detalles en el tintero' ? (es buen momento para comentarlos -todos ?-) sugerencia: decide en cual foro quieres continuar esta consulta o pon un link en cada foro a tu consulta en el otro
-
Stilian B. se ha unido a esta comunidad
-
Seleccionar Checkbox para toma de decisiones
tema contestó a crengifo en crengifo Macros y programación VBA
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 -
Seleccionar Checkbox para toma de decisiones
tema contestó a crengifo en crengifo Macros y programación VBA
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. -
Seleccionar Checkbox para toma de decisiones
tema contestó a crengifo en crengifo Macros y programación VBA
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 - Antes
-
lo mismo que te sugeri 'alla'... te dejo tres observaciones 'esencialmente basicas' que estas omitiendo en el codigo que expones: 1ª vba NO es (como) vb 'stand-alone', vba requiere asignar el tipo a cada variable declarada (por lo tanto)... - de tu primera instruccion: Dim sh1, jh2, jh3, jh4, jh5, jh6 As Worksheet SOLO la ultima variable (jh6) es de tipo 'worksheet', las demas 'asumen' Variant (por omision) 2ª a la primera variable (sh1) tampoco le asignaste una referencia - ANTES de la instruccion: If sh1.CheckBox1.Value = True Then DEBES vincular el 'checkbox' con 'su hoja' (que asumo es...) la hoja activa del libro activo ? - agrega una instruccion ± asi: Set sh1 = ActiveSheet 3ª tienes otras variables NO asignadas (y alguna/s del tipo incorrecto) por el resto... la pelota se queda en tu cancha (es un codigo muy 'saltimbanqui') ?
-
crengifo ha empezado a seguir a Seleccionar Checkbox para toma de decisiones
-
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