Todo se publica por Israel Cassales
-
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.
-
Buscar con macro coincidencia de horas y me arroje unos datos
Hola, Estaba viendo los temas de la sección sin respuestas y llama la atención el suyo porque a pesar de tener tantas descargas al momento no ha tenido más participación. Una causa podría ser lo extenso. Solo por darle una idea general a sabiendas que debe personalizar una opción de código podría ser así: Sub BuscarCoincidencias() Dim wsBase As Worksheet Dim wsPozo As Worksheet Dim pozo As String Dim fecha As Range Dim jornada As Range Dim actividad As String Dim filaBase As Long Dim filaPozo As Long Dim columnaFecha As Long Dim columnaJornada As Long Dim actividades As Variant Dim i As Long ' Definir las hojas de trabajo Set wsBase = ThisWorkbook.Sheets("Base de datos") Set wsPozo = ThisWorkbook.Sheets("Pozo 3") ' Obtener el pozo de la celda K2 pozo = wsPozo.Range("K2").Value ' Definir las actividades a buscar actividades = Array("MOV. HTA. (PRUEBAS)", "MOV. HTA.(MEDICION POZO)", "MOV. HTA. POR TRONADURA", _ "MEDICION TELEVIWER", "MEDICION DE POZO CLIENTE", "ESPERA POR TRONADURA", _ "MOV. SONDA POR TRONADURA", "ESPERA DE ACCESO", "ESPERA DE PLATAFORMA CLIENTE", _ "ESPERA DE MEDICION CLIENTE", "ESPERA DE INSTRUCCIONES CLIENTE", "VIDEO POZO") ' Recorrer las fechas en la hoja "Pozo 3" For Each fecha In wsPozo.Range("E10:BP10") columnaFecha = fecha.Column ' Recorrer las jornadas en la hoja "Pozo 3" For Each jornada In wsPozo.Range(wsPozo.Cells(11, columnaFecha), wsPozo.Cells(11, columnaFecha + 1)) columnaJornada = jornada.Column ' Recorrer las actividades For i = LBound(actividades) To UBound(actividades) actividad = actividades(i) ' Buscar coincidencias en la hoja "Base de datos" filaBase = 2 ' Asumiendo que los datos empiezan en la fila 2 Do While wsBase.Cells(filaBase, 1).Value <> "" If wsBase.Cells(filaBase, 2).Value = pozo And _ wsBase.Cells(filaBase, 3).Value = fecha.Value And _ wsBase.Cells(filaBase, 4).Value = jornada.Value And _ wsBase.Cells(filaBase, 5).Value = actividad Then ' Colocar las horas realizadas en la hoja "Pozo 3" wsPozo.Cells(15, columnaJornada).Value = wsBase.Cells(filaBase, 6).Value Exit Do End If filaBase = filaBase + 1 Loop Next i Next jornada Next fecha End Sub Le recomiendo ir por partes y seccionar su consulta en resultado por resultado.
-
Ayuda macro
Hola, Por el tiempo que ha transcurrido es posible que haya avanzado en su necesidad por usted mismo. Para dejar una sugerencia en el foro y los posibles lectores tal vez podría usar las columnas número de guía y orden de trabajo que tiene en su hoja del mismo nombre, Base de datos y crear un nuevo formulario. Para llamarlo creas un nuevo botón en el formulario principal y lo ejecutas. Este formulario debe ser capaz de buscar y actualizar los datos del tarifario, algo así: Private Sub actualizarTarifario_Click() Dim fila As Integer Dim guiaBuscar As String Dim ordenBuscar As String Dim encontrado As Boolean guiaBuscar = InputBox("Ingrese el número de guía:") ordenBuscar = InputBox("Ingrese el número de orden de trabajo:") encontrado = False With Hoja2 For fila = 3 To .Cells(.Rows.Count, 2).End(xlUp).Row If .Cells(fila, 2).Value = guiaBuscar And .Cells(fila, 3).Value = ordenBuscar Then .Cells(fila, 11).Value = InputBox("Ingrese el tarifario:") ' Añade más columnas si es necesario encontrado = True Exit For End If Next fila End With If Not encontrado Then MsgBox "No se encontró el registro con el número de guía y orden de trabajo proporcionados." Else MsgBox "Tarifario actualizado correctamente." End If End Sub
-
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.xlsx
-
Excel, Excel 365, suma de rangos variables
Hola @fx.ingenieria Con ver que ha resuelto su consulta me da gusto; en lo particular sólo agregaría que por favor no me cambie el nombre 😅
-
Excel, Excel 365, suma de rangos variables
El libro donde hice ejemplos SUMA rangos variables .xlsb
-
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.
-
Cambiar color a botón de comando segun estado
Hola, Por el tiempo que ha transcurrido es posible que haya encontrado por usted mismo la solución y lamentablemente el enlace ya no está vigente. Para posibles futuros lectores se puede compartir un ejemplo que debería ser funcional si se personaliza un poco. Para cambiar el color del botón según su condición (ocupada, libre o reservada), puede usar una estructura condicional similar a esto: Sub ActualizarColorBoton() Dim estado As String estado = Me.TextBoxEstado.Value ' Asumiendo que el estado se almacena en un TextBox Select Case estado Case "ocupada" Me.CommandButton1.BackColor = RGB(255, 0, 0) ' Rojo Case "libre" Me.CommandButton1.BackColor = RGB(0, 255, 0) ' Verde Case "reservada" Me.CommandButton1.BackColor = RGB(255, 255, 0) ' Amarillo Case Else Me.CommandButton1.BackColor = RGB(200, 200, 200) ' Color por defecto End Select End Sub Para llenar los TextBox con la información correspondiente al pulsar el botón, puede usar el evento Clic: Private Sub CommandButton1_Click() ' Supongamos que tiene un TextBox para cada campo de información Me.TextBoxNombre.Value = "Nombre de ejemplo" Me.TextBoxFecha.Value = "01/01/2024" Me.TextBoxEstado.Value = "ocupada" ' Añada más campos según sea necesario End Sub Para integrar ambos códigos debe asegurase de llamar a la subrutina ActualizarColorBoton cada vez que cambie el estado del botón para que el color se actualice. Private Sub CommandButton1_Click() ' Llenar los TextBox con la información Me.TextBoxNombre.Value = "Nombre de ejemplo" Me.TextBoxFecha.Value = "01/01/2024" Me.TextBoxEstado.Value = "ocupada" ' Actualizar el color del botón según el estado Call ActualizarColorBoton End Sub Saludos totales
-
No aparecen las macros de libro PERSONAL.xlsm para seleccionarlas
Hola, Por el tiempo que ha pasado es posible que usted ya haya resuelto. La pregunta al (qué pasó) es complicado determinar a la distancia, entonces tal vez serviría dejar un check de revisiones para futuros lectores o en su caso a usted es posible que le hayan servido en su momento. Asegurarse de que el archivo PERSONAL no esté oculto. En el Editor de Visual verificar si el archivo está visible en el proyecto VBA. Si no lo está, (como no parece ser el caso de este tema) ir a Ver > Ventana Inmediato y escribir ? Application.StartupPath para confirmar la ruta de inicio de Excel Ir a Archivo > Opciones > Complementos y selecciona Elementos deshabilitados en el menú desplegable Administrar. Hacer clic en Ir… y luego verificar si hay algún complemento deshabilitado que pueda estar afectando. Revisar la configuración de seguridad de macros Abrir el archivo PERSONAL directamente desde la carpeta XLSTART y verificar si las macros están y funcionan correctamente. Intentar reparar el Office Verificar permisos de archivo A veces, los problemas con las macros pueden estar registrados en el Visor de eventos de Windows, revisarlo Desactivar complementos de terceros
-
Agregar imagen si existe valor en celda
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$F$8" Then Call MostrarOcultarAutoforma End If End Sub Sub MostrarOcultarAutoforma() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("BASE(HORIZONTAL)") If ws.Range("F8").Value = "" Then ws.Shapes("Explosión 1 1").Visible = msoFalse Else ws.Shapes("Explosión 1 1").Visible = msoTrue End If End Sub PUBLICIDAD_CUGAT(horizontal).xlsm
-
Agregar imagen si existe valor en celda
Hola, Le dejo una idea en VBA que tal vez le funcione, por el tiempo es posible que ya haya resuelto aunque podría servir a futuros lectores.
-
AGRUPAR INFORMACION DISTINTAS HOJAS - COLUMNAS DIFERENTES
Recomendación adicional: Si se tienen miles y miles de datos las fórmulas pueden ser lentas en su ejecución, entonces cobra importancia otras opciones. También puedes intentar o pedir ayuda en VBA.
-
AGRUPAR INFORMACION DISTINTAS HOJAS - COLUMNAS DIFERENTES
Una idea en Excel podría ser combinar UNICOS, INDIRECTO, BUSCARV ó INDICE y COINCIDIR Crear el encabezado único Puedes usar la función UNICOS para obtener los encabezados únicos de todas las hojas. La función UNICOS puede trabajar con rangos horizontales si se configura correctamente. Recopilar los encabezados: En una nueva hoja, puedes usar la función UNICOS combinada con TRANSPONER para obtener los encabezados únicos de cada hoja y luego combinarlos. =UNICOS(TRANSPONER(Hoja1!A2:C2)) =UNICOS(TRANSPONER(Hoja2!A2:E2)) =UNICOS(TRANSPONER(Hoja3!A2:D2)) Combinar los encabezados únicos: Copia los resultados de las fórmulas anteriores en una sola columna y usa nuevamente UNICOS para obtener los encabezados únicos finales. =UNICOS(A1:A15) ' Asumiendo que los encabezados combinados están en A1:A15 de la hoja de resultados. Crear una columna auxiliar Para identificar de qué hoja provienen los datos, puedes agregar una columna auxiliar en la primer columna del lado izquierdo de la hoja resultados. Luego para encontrar los datos usar INDIRECTO, BUSCARV o INDICE y COINCIDIR Combinar los datos: En la nueva hoja, usa INDIRECTO para referenciar las celdas de las otras hojas y BUSCARV o INDICE y COINCIDIR para buscar los datos correspondientes. Algo así: =BUSCARV($A2, INDIRECTO("'" & $B2 & "'!A:D"), COINCIDIR(C$1, INDIRECTO("'" & $B2 & "'!$A$1:$D$1"), 0), FALSO) En resumen, vas a buscar el valor del encabezado y para garantizar que el valor corresponda a la hoja correspondiente usamos la columna auxiliar y para que el nombre de la hoja lo tome como referencia dentro de la fórmula para eso es INDIRECTO. Es una idea, aunque es funcional. Con algo así deberías llegar al resultado buscado. Saludines
-
AGRUPAR INFORMACION DISTINTAS HOJAS - COLUMNAS DIFERENTES
Hola, por el tiempo que ha pasado seguramente ha resuelto su necesidad. No es común tantas descargas sin sugerencias, es un indicador de que se puede mejorar el planteamiento o seccionar el tema para abrir las opciones de ayuda. Si está abierto a opciones, y si es que no lo ha hecho así, las posibilidades menos laboriosas para el resultado que busca son POWER QUERY o POWER BI, le recomendaría crear nuevamente la consulta si lo desea en esas secciones de la comunidad. Sino se cuenta con esas herramientas y le interesa a usted o algún otro lector mantener la solución en EXCEL, le proporciono otra idea que le debe llevar al resultado pero requiere personalizar funciones.
-
Diferencias con la vista previa
Libro2 - Ayuda Excel.xlsx
-
Diferencias con la vista previa
Puede acomodarlo a un solo renglón: O si quiere ambos renglones haga la combinación correspondiente: En resumen, en este libro que compartió le están haciendo pasar un mal rato el porcentaje del tamaño de impresión con respecto al área que se puede imprimir, que combina con las opciones del ajuste y el alineado del texto.
-
Diferencias con la vista previa
Bueno…, Pongamos atención a la fila 11, (la fila 1 no encontré eso que menciona). En la fila 11 en la hoja de cálculo se ve así: Y en la vista previa así: Sin considerar las diferentes combinaciones de formato, el porcentaje de impresión con respecto al tamaño de hoja seleccionada, los formatos de celdas y más opciones que tiene el usuario, en este caso en particular le está afectando visualmente el ajustar el texto junto con la alineación de la celda en opción a inferior. Si ajusta la hoja y quita el “ajustar texto” se acomodará como menciona que lo necesita. Mención aparte el espacio que contiene al final del texto, que no se ve pero incide en la vista. Puede acomodarlo a un solo renglón: Por limite de imágenes continuo la respuesta en la siguiente...
-
Números de varios dígitos en celdas con formato de TEXTO.
Sin la información que te comente hace unos minutos, me parece que lo único que puedo recomendarte por ahora sería usar el apóstrofe (') Si el registro es manual quien capture debería ponerlo en cada ocasión. Si los datos llegan de forma externa entonces usa una columna "auxiliar" con una función: = "'" & A2 Así tendrás los números completos no importa si son largos o con ceros a la izquierda:
-
Números de varios dígitos en celdas con formato de TEXTO.
Apreciado consultante y futuro lector debe ser confuso el pedir que los temas no sean extensos pero a la vez detallados enfocados en la raíz del inconveniente. Aunque aquí parece que se cumplen las mínimas condiciones de explicación junto al archivo con el ejemplo, se están dejando cosas a la deducción y lamentablemente no todos los maestros o usuarios avanzados tendrán la oportunidad de dedicarle un tiempo considerable a cada tema. Podrás decir, entonces para qué ofrecen ayudan si uno se va a quejar, y se cae en un ciclo extraño de ir y venir. En fin. Apreciado @RubenDario lo que dice la explicación no se parece a lo que describes dentro del libro: Me parece que lo ideal si me lo permites era resaltar lo que expusiste al principio: ¿NO SERÍA MEJOR DEJAR EN EL LIBRO ESE EJEMPLO DE AMBOS TIPOS DE NÚMERO EN UNA MISMA COLUMNA? Aún así está incompleto y ahora hay que adivinar si los datos se registran manualmente, se importan, se copian o pegan... Todas esas variantes influyen en las propuestas de ideas que puedan ayudarte.
-
Números de varios dígitos en celdas con formato de TEXTO.
A como lo entiendo, con formato personalizado bastaría con elegir el tipo 0
-
Números de varios dígitos en celdas con formato de TEXTO.
Saludos totales, Si con el formato de número ya te aparecen completos me cuesta comprender cuál sería el problema si lo que buscas es que se vean completos. Como sabemos puedes tener diferente formato por columna y la tabla respeta o debería respetar el formato. A menos que el formato de Texto o personalizado como mencionas dentro del libro sea necesario para algo adicional.
-
Diferencias con la vista previa
Para este tipo de consulta es necesario tratar de replicar el error, si deja un ejemplo en PDF es posible que no reciba la atención que espera. Mande su ejemplo en Excel, así (tal vez) uno mismo no pueda regresar a sugerirle algo pero abre sus opciones de ayuda a los demás Expertos de la comunidad.
-
Añadir filas a tabla en hoja protegida
Bueno sin usar VBA entonces queda abierto a ser creativos y poder proponer diferentes ideas que podrían servir o tal vez no. Entonces si con la tabla no hay nada que se pueda hacer de manera natural por proteger la hoja ¿por qué no pensamos en los datos que no quieres que sean editados? La falta de libro de ejemplo siempre dejará espacio a la especulación, "esos datos" ¿son valores por cada celda, son textos que se desbordan, son celdas combinadas...? O un largo etc. Bueno ninguna de las siguientes opciones sustituyen a la protección de la hoja pero considerando los límites podrías usar algunas de las siguientes: Validación de datos: Los rangos que necesites que no sean editados aplica una regla. Manipula alguna fórmula matricial: Las celdas que pertenecen al origen de estas fórmulas quedan restringidas y no pueden ser editadas o suprimidas. Trae los datos de otra hoja con la cámara de Excel, así dejas la hoja donde esta la tabla desprotegida y los datos sin posibilidad de edición. ¿Por qué no usar VBA? ¡¡¡Saludos Totales!!!
-
APOYO CON MACRO PARA COPIAR INFORMACIÓN DE UNA HOJA A OTRA
Bueno, para asegurarte de que los nuevos datos se peguen a partir de la última fila utilizada, primero se debe encontrar la última fila con datos en “BASE GENERAL”. Puedes usar lastRow (Ejemplo): Encuentra la última fila con datos en "BASE GENERAL" lastRow = wsBaseGeneral.Cells(wsBaseGeneral.Rows.Count, "B").End(xlUp).Row + 1 Y modifica en tu código: Destination:=wsBaseGeneral.Range("B" & lastRow) Haz una prueba y regresas con el avance o comentarios, sino es uno mismo tal vez algún Maestro pueda aportar algo adicional. Nota: Para una ayuda mejor elaborada se recomienda poner un libro de ejemplo, esto evita conjeturas que no ayudan en la determinación de sentencias. Saludines.
-
Identificar nuevas filas agregadas y removidas en una tabla
Ejercicio - AYUDA EXCEL.xlsx