Máximos colaboradores
-
JSDJSD
Exceler C90Puntos2440Contador de contenido -
Israel Cassales
Miembro56Puntos1457Contador de contenido -
Antoni
Exceler C27Puntos11887Contador de contenido -
Victor7
Exceler E18Puntos411Contador de contenido
Popular Content
Showing content with the highest reputation since 06/06/24 in Mensajes
-
Fórmula para buscar con condición mayor/menor
Israel, gracias por la parte que me toca. He tratado de darle un aire más moderno. Desde 2016 no he hecho un cambio tan grande. Nos vemos!3 points
-
Fórmula para buscar con condición mayor/menor
Antes que nada ¡Muy bonito el foro con el cambio! El Maestro tiene buenos argumentos al pedirle más información, porque con los datos que expone usted sólo se puede aportar alguna idea sencilla: Puede usar las funciones en una fórmula de matriz INDICE y COINCIDIR junto con la lógica de un rango. Como usted tiene 365 no necesita los corchetes, aunque puede afectar el rendimiento dependiendo de la cantidad de los datos porque está relacionando columnas completas. =INDICE(DatosOrigen!A:A, COINCIDIR(VERDADERO, (DatosOrigen!B:B >= MisDatos!B2*0.9)*(DatosOrigen!B:B <= MisDatos!B2*1.1), 0)) Imagine: En su hoja "DatosOrigen", la columna de Folios es la A y la columna de Importes es la B. En su hoja "MisDatos", el Importe aproximado que tienes es la celda B2 (y quieres que el folio aparezca en A2). Importante si es que hay Múltiples Coincidencias: La fórmula traerá el primer folio que encuentre que cumpla con el criterio. Si hay varios importes dentro de su margen de tolerancia, solo devolverá el folio asociado al primero que aparezca en su lista de "DatosOrigen". Adicionalmente le funcionaría mejor Power Query3 points
-
Exportar datos numéricos de un Listview a hoja Excel
Prueba el adjunto. MiNumerosListView.xlsm3 points
-
Macro para definir cumpleaños.
3 pointsTe dejo una función, puedes usarla en macros y formularios o como fórmula. Function Edad(Identidad As String) As Variant Dim Año, Mes, Día '-- If Not IsNumeric(Identidad) Or Not Len(Identidad) = 11 Then Edad = "#Error Identidad" Exit Function End If '-- Año = CInt(Left(Identidad, 2)) If Año > Year(Date) - 2000 Then Año = Año + 1900 Else Año = Año + 2000 End If '-- Mes = CInt(Mid(Identidad, 3, 2)) Día = CInt(Mid(Identidad, 5, 2)) Edad = Year(Date) - Año '-- If Mes > Month(Date) Or _ (Mes = Month(Date) And Día > Day(Date)) Then Edad = Edad - 1 Exit Function End If End Function Cumpleaños Foro.xlsm3 points
-
Suma de valores positivos y negativos separados segun conceptos
Hola @ROVER1965 Te adjunto dos tipos de soluciones, la primera es celda por celda con la funcion SUMAR.SI.CONJUNTO y la segunda es una sola formula de Excel 365. Ya nos comentaras. CONSULTA SOBRE FORMULAS EXCEL.xlsx2 points
-
Fórmula para buscar con condición mayor/menor
para agilizar propuestas, te sugiero que proveas estos datos en tu siguiente mensaje: 1) el importe que 'ya tienes' (al que refieres en tu formula) 2) la celda donde necesitas el resultado (y la formula exacta con que lo intentas) 3) una imagen (reducida) de los datos en 'el otro libro' (rangos, arreglo, tipo de datos, ...) 4) el resultado que esperas como correcto (y donde se ubica en la imagen que adjuntes)2 points
-
copiar celdas x color
2 pointsAbre el adjunto y pulsa sobre el botón. Vale para cualquier cantidad de filas y columnas de Sheet1. copiar color.xlsm2 points
-
Ayuda con Congelar Fecha Captura
2 pointsHola, tal cual se plantea, solamente con macros (VBA); en todo caso, hacerlo a mano o con "CTRL + ;". Saludos.2 points
-
Ayuda con Congelar Fecha Captura
2 pointsBueno con el ejemplo así como lo tienes, te puedo compartir que ese error de referencia circular es el que te ayuda a mantener la fecha y la hora "congeladas" podrías evitarlo usando una columna auxiliar para el vacío pero la fórmula AHORA() te cambiara el resultado cada que la hoja se calcule o cuando le des guardar. Sin VBA de por medio será esperar el aporte de algún maestro o usuario avanzado. Si cambias de opinión pasa el tema para la otra sección. Saludos2 points
-
Generar código QR
2 pointsPara esa versión se me ocurre usar otra web y una UDF: Function InsertQRCode(celda As Range) As String Dim mirango As Range Dim QRCodeURL As String Set mirango = Application.Caller QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Left = mirango.Left .Top = mirango.Top .Width = mirango.Width .Height = mirango.Height End With InsertQRCode = "" End Function2 points
-
Suma CONDICIONAL - Encontrar DATO por fecha con más de UNA condición
Hola a todos, Otra opción podría ser: =BUSCARV(B30;DESREF(A$4;;COINCIDIR(C30;B$2:W$2;)-2;15;3);3;) ...fórmula que, insertada en D30, puede copiarse verticalmente hasta donde sea necesario (archivo adjunto). Nota: He modificado las fórmulas de C26:C27, convirtiéndolas en dinámicas; sólo habrá que revisar si el rango de suma es el que se desea. Sumas con condición (C).xlsx2 points
-
AYUDA ima gen e hipervínculo
2 points
-
AYUDA ima gen e hipervínculo
2 points
-
AYUDA ima gen e hipervínculo
2 points
-
AYUDA ima gen e hipervínculo
2 pointsY cuando pulse sobre cualquier celda con texto en la columna I de la hoja tablas te muestra el pdf en pantalla completa yo te lo muestro un poco reducido para que quepa en el gif2 points
-
Error al Guardar Información de un Label
No todos los controles tienen las mismas propiedades: Private Sub Guardar(sh As Worksheet, r As String, ctrl As Control) If ctrl.Visible Then Select Case TypeName(ctrl) Case "Label" sh.Range(r).Value = ctrl.Caption Case "TextBox" sh.Range(r).Value = ctrl.Value End Select End If End Sub2 points
-
Macro para habilitar tabla para agregar filas automaticamente en hoja protegida
Sube tu archivo2 points
-
Macro para habilitar tabla para agregar filas automaticamente en hoja protegida
Prueba y comenta Private Sub Worksheet_Change(ByVal Target As Range) ' Salir si se seleccionan varias celdas a la vez If Target.Count > 1 Then Exit Sub ' Salir si el cambio está en la fila 1 If Target.Row = 1 Then Exit Sub ' Salir si el cambio está en una columna mayor a la columna 8 If Target.Column > 8 Then Exit Sub ' Intentar redimensionar la tabla dentro de la protección de hoja On Error GoTo ErrorHandler Me.Unprotect Password:="123" ' Redimensiona la tabla a la región actual del Target Me.ListObjects("Tabla1").Resize Target.CurrentRegion ' Proteger de nuevo con configuraciones específicas para permitir edición en la tabla Me.Protect Password:="123", _ AllowSorting:=True, _ AllowFiltering:=True, _ AllowUsingPivotTables:=True, _ AllowInsertingRows:=True, _ AllowDeletingRows:=True ' Restaurar control de errores On Error GoTo 0 Exit Sub ErrorHandler: MsgBox "Ocurrió un error al redimensionar la tabla. Verifica el nombre de la tabla y que los rangos estén correctos.", vbExclamation End Sub2 points
-
AYUDA ima gen e hipervínculo
2 points
-
Contar Días
2 points
-
FGV
2 pointsHola, creo que Fernando tuvo un problema con su usuario del foro e igual nunca es recomendado titular un post hacia una persona o pedirle solo ayuda a una; recomiendo o que adjuntes tu archivo que tenga los datos tal cual los trabajas y, a mano, los coloques tal cual los necesitas y de ese modo será más fácil entenderte.2 points
-
Cual es la forma correcta de usar vba para registrar las actividades diarias
Hola. La verdad es que, viendo tu lista y tu escueta explicación, pues realmente es casi imposible darte un consejo.2 points
-
Reconfiguración de Calendario
2 pointsPrueba a ver si es esto lo que quieres. CALENDARIO PRUEBA (1).xlsm2 points
-
Restar Días Feriados, Sábados y Domingos
Hola jues No soy Israel Cassales , pero intentaré darte otra visión del asunto. Estamos hablando de octubre de 2024. Que tiene entre sábados y domingos 8 días. En tu archivo te salen 9. Cuentas como festivo el día 12 de octubre, que es sábado, y por lo tanto no se cuenta, a ti te sale 1. Los días trabajados (laborados) dices que son 21, cuando son 23, contando el día "festivo" que no es, y el sábado o domingo que te sobra. Con ésta fórmula me salen los 23 días: =DIAS.LAB.INTL($D$6;FIN.MES($D$6;0);"0000011";'USUARIOS & PRIVILEGIOS'!$N$5:$N$34) La multiplicación por las 8 horas y por el NTT (que no se lo que es) te lo dejo a tí. Saludos.2 points
-
Contar códigos únicos de una celda
2 pointsQue tal a todos, me permito aportar otra posible solución sin alterar la estructura del reporte: =CONTAR(UNICOS(--DIVIDIRTEXTO(A2; ; APILARH(CARACTER(10); "AB-")))) Espero les sea útil. ContarCodigosUnicos (Solucion).xlsx2 points
-
Condicional de colores con vba para columnas
Prueba esta macro, vale para cualquier cantidad de filas/columnas. Const Naranja As Long = 6403322 Const Morado As Long = 11423218 Const Verde As Long = 4896057 Const Rojo As Long = 6709491 '-- Sub Resaltes() Dim Sales As Range, Fcst As Range Application.ScreenUpdating = False '-- For x = 2 To Range("A" & Rows.Count).End(xlUp).Row Step 2 For y = 4 To Cells(1, Columns.Count).End(xlToLeft).Column '-- Set Fcst = Cells(x, y) Set Sales = Cells(x, y).Offset(1) '-- Sales.Interior.ColorIndex = xlNone Fcst.Interior.ColorIndex = xlNone '-- If Sales <> "" Then If Round(Sales) = 0 And Round(Fcst) > 0 Then Sales.Interior.Color = Rojo Fcst.Interior.Color = Rojo End If '-- If Round(Sales) <> 0 And Round(Sales) < Round(Fcst) Then Sales.Interior.Color = Naranja Fcst.Interior.Color = Naranja End If '-- If Round(Sales) = Round(Fcst) Then Sales.Interior.Color = Verde Fcst.Interior.Color = Verde End If '-- If Round(Sales) <> 0 And Round(Fcst) < Round(Sales) Then Sales.Interior.Color = Morado Fcst.Interior.Color = Morado End If '-- End If Next Next End Sub2 points
-
Diferencias de apertura de archivo - Excel 365
Por la descripción se me ocurren un par de cosas que recomendarte, una podría ser la configuración de la región, así que en donde no se "abre" bien revisa que el separador de listas sea una coma. La otra no mencionas como lo mandas llamar pero se puede deducir que haces doble clic, así que igualmente en la que no abre bien prueba importar "manualmente" el .csv2 points
-
Borrar filas cuando encuentre parámetro
Sub BorrarCobros() With Sheets("Hoja1") Set rango = .Range("A1").CurrentRegion rango.AutoFilter Field:=12, Criteria1:="COBRADA" .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row) _ .SpecialCells(xlCellTypeVisible).EntireRow.Delete .AutoFilterMode = False End With End Sub Esta sería la otra variante2 points
-
copiando otro dato desde un archivo cerrado, pero ajustando macro ya creada
Buenas, por lo que veo sería: en la función: Function GetDepthFromCSV(csvData As Variant, holeID As String) As Variant cambia la línea done crea el array lineData , el delimitador de esta mal: lineData = Split(csvData(i), ";") ' cambia "," por ";" y la captura del campo, cambia el número de columnas GetDepthFromCSV = lineData(3) ' Asume que la columna 1 es PROF_REC ' cambio por 3 de esta manera parece que funciona como lo quieres. saludos survey_test2_v1.xlsm2 points
-
FUNCION SI, SIN PERDER LA FUENTE Y FORMATO DEL RESULTADO
Saludos totales, Considerando la respuesta del maestro ante la posibilidad de separar el resultado en dos celdas y considerando también que el consultante no desea usar macros. En esa circunstancia si nos ponemos creativos podemos sacar de la celda el resultado de la fórmula a una imagen. Su formula renombrada: =SI(B3=B7,"Resultado1",SI(B3=B8,"Resultado2",SI(B3=B9,"Resultado3"))) Así cuando cambie el resultado, cambiará la imagen que es una copia del resultado que tenemos en el rango inferior. Probablemente con un rango mayor de datos sea laborioso el crearlo pero es solo una idea que se me cruzo al leer la propuesta del Maestro @Victor7 a quien saludo cordialmente con el gusto de coincidir en este tema.2 points
-
Duda para contar primera aparación de data de un determinado Item
Hola a todos, Otra posibilidad, con fórmula única M365, podría ser (no necesita cálculos ni rangos auxiliares): =LET(z;LAMBDA(a;CONTARA(UNICOS(FILTRAR(A2:A14;a>0))));y;C2:C14;APILARH(CONTARA(FILTRAR(y;y>0));EXCLUIR(BYCOL(C2:P14;z)-BYCOL(B2:O14;z);;1))) Al tratarse de una fórmula de matriz derramada, hay que asegurarse de borrar el rango D16:xxx16. De otra forma, aparecerá error #¡DESBORDAMIENTO! Saludos,2 points
-
Duda para contar primera aparación de data de un determinado Item
Saludos totales Es una gran idea @simplifikndo y lamento parecer entrometido en su aporte, me gustan las recomendaciones que hace y por eso con pena de mi parte y sin intención de modificar el total de su idea con el rango auxiliar, vi que en la parte del conteo usa esta fórmula: =SI(CONTAR.SI(U$1:U$7,">"&0)>CONTAR.SI(T$1:T$7,">"&0),CONTAR.SI(U$1:U$7,">"&0)-CONTAR.SI(T$1:T$7,">"&0),0) Usando su mismo rango tal vez le podría interesar algo así: =SUMAPRODUCTO((U1:U7>0)*(T1:T7=0)) Una disculpa por la intromisión estimado @Matías86 Duda Lanzamiento - slp.xlsx2 points
-
Mostrar hoja en Listbox según selección en Combobox
Otra forma a partir de las tablas, los nombres de las hojas, el combo bancos y el nombre de las tablas deben ser iguales. Para Foro.xlsm2 points
-
Excel, Excel 365, suma de rangos variables
¡Saludos a todos! @fx.ingenieria revisa el adjunto, donde con una sola fórmula matricial devolvemos los resultados buscados. He agregado un formato condicional para que se sombree la fila dependiendo de si el valor corresponde a un valor sin comas (es un título de grupo). ¡Bendiciones! Suma rangos variables .xlsx2 points
-
Excel, Excel 365, suma de rangos variables
Saludos totales @simplifikndo Gran aporte y gusto de coincidir con usted de nuevo en un tema. @fx.ingenieria Hay una parte que me parece (al menos a mí) que no está clara en su consulta y es la siguiente: En los libros que amablemente manda y en sus explicaciones, no ha terminado de exponer cómo es que los rangos pasan de ser fijos a ser variables, así que mi participación se basa solo en deducciones y erróneamente no debería ser así porque está limitada al conocimiento que solo ésta en usted. Además que ya está siendo asistido por el compañero quien hace colaboraciones sobresalientes. Desde mis conjeturas una de las forma en que los rangos sean variables es porque se insertan filas o columnas, esto le debe causar problemas si quien lo hace no inserta dentro del rango, porque de ser así una suma natural de Excel debería servir porque el rango cambia automáticamente. Empero, si esta fila o columna se inserta al final del rango, entonces no se actualiza y las sumas son incorrectas. Una idea sencilla que sirve para evitar esto es combinar SUMA con DESREF ENFATIZO: Es importante señalar cómo pasan de fijos a variables sus rangos considerando que está buscando sumar valores justo dentro de ese rango y las fórmulas no se escriben automáticamente, a menos que se programe un evento que lo ocasione.2 points
-
Mostrar hoja en Listbox según selección en Combobox
Private Sub ComBanco_Change() Dim hojabuscada As String Dim ultFila As Long Dim ultCol As Long hojabuscada = ComBanco With Sheets(hojabuscada) ultFila = .Cells(.Rows.Count, 1).End(xlUp).Row ultCol = .Cells(6, .Columns.Count).End(xlToLeft).Column LstDiario.RowSource = .Range(.Cells(6, 1), .Cells(ultFila, ultCol)).Address(External:=True) End With End Sub El saldo inicial no se si quieres que se muestre, en caso contrario modifica la macro, simplemente cambia en la dos ultimas líneas del bloque with el 6 por el 7 Para Foro.xlsm2 points
-
Macro renombrar archivos con UserForm
2 points
-
Macro renombrar archivos con UserForm
2 points
-
Duda access, Bases tienen distinto ícono
Hola, el ícono de Excel es cuando vinculas los datos de Excel, tipo tablas es cuando importas.1 point
-
AYUDA PARA EXTRAER INFORMACIÓN ESPECIFICA DE UNA COLUMNA
Hola, Por lo que respecta a gramos, puedes utilizar esta fórmula: =--REGEXEXTRACCION(B3:B35;"(\d+)\s*(?=[gG]\b|gr|GR)") En cuanto a las piezas, habría que ver cuál es el patrón; no sé si, por ejemplo, en el primer artículo ese '2p' equivale a un número de 2 [piezas], pero en los artículos en mayúsculas (a partir de la fila 18) no está clara la forma de identificación. Saludos,1 point
-
AYUDA ima gen e hipervínculo
1 point
-
Suma CONDICIONAL - Encontrar DATO por fecha con más de UNA condición
Sumas CON CONDICION.xlsb1 point
-
Suma CONDICIONAL - Encontrar DATO por fecha con más de UNA condición
Saludos totales. Maestro @JasallBcn gusto en saludarlo y coincidir con usted en una consulta. En base a lo explicado me permito aportar unas de ideas diferentes. Como el desafío es el diseño por que el rango no está en el mismo lugar entonces hay que buscarlo. Vengo con la portátil y tengo Excel 2013 así que podría ser alguna de las siguientes: =SUMAR.SI(INDIRECTO(DIRECCION(2,COINCIDIR(C30,A2:V2)-2)&":"&DIRECCION(10,COINCIDIR(C30,A2:V2)-2)),B30,INDIRECTO(DIRECCION(2,COINCIDIR(C30,A2:V2))&":"&DIRECCION(10,COINCIDIR(C30,A2:V2)))) =SUMAR.SI(INDICE(A$2:V$10,,COINCIDIR(C$31,A$2:V$2,0)-2),B31,INDICE(A$2:V$10,,COINCIDIR(C$31,A$2:V$2,0))) No estoy muy seguro pero sería algo así en 365: =LET( col_index, COINCIDIR(C$31, A$2:V$2, 0), range1, INDICE(A$2:V$10,, col_index - 2), range2, INDICE(A$2:V$10,, col_index), SUMAR.SI(range1, B$31, range2) ) @RubenDario Ya tenías el aporte del Maestro, solo es por proponer algo distinto.1 point
-
Suma CONDICIONAL - Encontrar DATO por fecha con más de UNA condición
Buenas, te paso una forma, es uma fórmula anidada, seguramente se podría hacer más simple, esperemos a ver si algún otro te pasa otra manera, saludos. Sumas CON CONDICION_1.xlsx1 point
-
Contar Días
1 point
-
Convertir números en formato de texto a valor.
esto lo resuelves desde la interfaz de usuario, dialogo de 'buscar y reemplazar' selecciona las columnas "E:G" (o solo el rango de afectacion) primer reemplazo buscar: el punto => reemplazar: nada (vacio) segundo reemplazo a) si tu separador decimal es la coma ? buscar: la coma => reemplazar: la coma (otra vez) b si tu separador decimal es el punto ? buscar: la coma => reemplazar: el punto al final deberas aplicar el formato numerico de tu preferencia1 point
-
Definir año en fecha de nacimiento.
¡Saludos a ambos! No creo @Victor7 que la fórmula que has propuesto funcione de forma adecuada tal cual y como está (comparas números con textos). Dejo otra propuesta (en C5, y le colocas formato de fecha) : =--TEXTO(19+(IZQUIERDA(B5;2)<"25")&IZQUIERDA(B5;6);"0-00-00") ¡Bendiciones!1 point
-
Macro para definir cumpleaños.
1 pointPrivate Sub CommandButton1_Click() With Hoja8 ultimaFila = .Cells(.Rows.Count, "B").End(xlUp).Row For Each celda In .Range("B5:B" & ultimaFila) If Not IsEmpty(celda.Value) Then año = CInt(Mid(celda.Value, 1, 2)) mes = CInt(Mid(celda.Value, 3, 2)) día = CInt(Mid(celda.Value, 5, 2)) If año <= 21 Then año = año + 2000 Else año = año + 1900 End If On Error Resume Next fechaResultado = DateSerial(año, mes, día) If Err.Number <> 0 Then fechaResultado = "Fecha Inválida" Err.Clear End If On Error GoTo 0 celda.Offset(0, 1).Value = fechaResultado End If Next celda If IsDate(.Range("A2").Value) Then fechaReferencia = .Range("A2").Value Else MsgBox "La celda A2 no contiene una fecha válida.", vbExclamation Exit Sub End If For i = 5 To ultimaFila If IsDate(.Cells(i, "C").Value) Then .Cells(i, "K").Value = Year(fechaReferencia) - Year(.Cells(i, "C").Value) Else .Cells(i, "K").Value = "Fecha no válida" End If Next i End With End Sub Cumpleaños Foro.xlsm1 point
-
FUNCION SI, SIN PERDER LA FUENTE Y FORMATO DEL RESULTADO
Hola, De manera personal no tengo el conocimiento para hacer que la fórmula aplique automáticamente el formato de superíndice, y no estoy seguro que se pueda hacer sin usar VBA. Creo recordar que usted evita el uso de macros en sus trabajos, pero incluso aunque fuera con macros dudo que pueda mantener la fórmula y el formato de superíndice en la misma celda, es decir; para que la macro aplique el formato debería reemplazar el resultado a texto o colocarlo en alguna celda auxiliar. Es por esta causa que no puede aplicar manualmente el superíndice al seleccionar la parte de la fórmula, Excel le deshabilita el menú. Aún así, habría que esperar si hay otras participaciones que le aporten alguna posible solución.1 point
-
Duda para contar primera aparación de data de un determinado Item
Muchas gracias estimados, siempre serán bienvenidas la optimización de soluciones propuestas. Están muy buenas las fórmulas, dado que ya no tengo que depender de tablas dinámicas y su actualización para sacar el resultado. Saludos!1 point