Saltar al contenido

Máximos colaboradores


Popular Content

Showing content with the highest reputation since 23/07/17 in all areas

  1. 5 points
    Revisa el adjunto. Verás que he añadido una columna más al listbox, en ella añadimos el número de fila filtrado. Te adjunto este link para que sigas aprendiendo. Curso de macros Perfil de puesto formulario 21.xlsm .
  2. 5 points
    Antoni

    Cambiar Forma en Comentarios

    Abre el adjunto, selecciona una celda y pulsa sobre la flecha azul. Sub AñadirComentario(): On Error Resume Next Application.ScreenUpdating = False ActiveCell.ClearComments ActiveCell.AddComment With ActiveCell.Comment .Text Text:="Texto del comentario" .Visible = True With .Shape .AutoShapeType = 10 'Hexágono -Ver lista en hoja1 o en 'https://msdn.microsoft.com/library/7e6fe414-2b25-56d7-a678-b6e718329118%28office.15%29.aspx .Fill.ForeColor.RGB = vbYellow .Line.ForeColor.RGB = vbBlue .Line.Weight = 3 .AlternativeText = "Texto alternativo" End With With .Shape.TextFrame .Characters.Font.Name = "Arial" .Characters.Font.Size = 8 .Characters.Font.Bold = True .Characters.Font.Italic = True .Characters.Font.Underline = True .Characters.Font.Color = vbRed .VerticalAlignment = xlCenter .HorizontalAlignment = xlCenter .AutoSize = Auto End With End With End Sub Comentario con autoforma.xlsm
  3. 5 points
    Antoni

    Msgbox Personalizado

    Os dejo mi versión, para que funcione en un proyecto, solo es necesario copiar el formulario Mensaje y el módulo FunciónMensaje. MsgBox personalizable.xlsm A parte del propio mensaje y el título, permite: Cambiar fuente, tamaño, color y tipo de fuente del mensaje 4 iconos distintos De 1 a 3 botones Cambiar el texto de los botones
  4. 4 points
    Mauricio_ODN

    Cambiar Forma en Comentarios

    Saludos a todos. Como tengo un rato de ocio, comparto una posible solución. Comentas por favor @TREBUR ComentarioFormas.xlsm
  5. 4 points
    Riddle

    ***MOSTRAR RESULTADO EN UN COMENTARIO***

    Hola a todos, adjunto otra propuesta. Saludos. ejemplo prueba.xls
  6. 4 points
    Las impresoras de tickets no están soportadas como tales por Windows y deben tratarse como dispositivos externos. Has de abrir el dispositivo con la instrucción Open, imprimir línea a línea con la instrucción Print y al final cerrar el dispositivo con la instrucción Close. Las impresoras de tickets no permiten demasiados adornos, los pocos que soporta deben hacerse con un lenguaje especifico, el lenguaje ESC/POS, desarrollado por Epson. (Creo). El lenguaje está compuesto por una secuencia de strings que se anteponen al texto a imprimir precedido por un carácter ESC ( Chr$(&H1B) o Chr(27) ), de ahí su nombre. Busca un manual en Internet, seguro que lo encuentras, son apenas 4 o 5 páginas con la especificación de todos los comandos que puedes utilizar, Te dejo un ejemplo que he encontrado por ahí, verás que utiliza el puerto COM1, si no te funciona, prueba con COM2, COM3,.. etc. Busca un manual Suerte y mucha paciencia Open "COM1" For Output As #1 Print #1, Chr$(&H1B); "@"; 'Initializes the printer (ESC @) Print #1, Chr$(&H1B); "a"; Chr$(1); 'Specifies a centered printing position (ESC a) Print #1, Chr$(&H1B); "!"; Chr$(0); 'Specifies font A (ESC !) Print #1, "January 14, 2002 15:00"; Print #1, Chr$(&H1B); "d"; Chr$(3); 'Prints and 3 line feeding (ESC d) Print #1, Chr$(&H1B); "a"; Chr$(0); 'Selects the left print position (ESC a) Print #1, Chr$(&H1B); "!"; Chr$(1); 'Selects font B Print #1, "TM-U210B $20.00"; Chr$(&HA); Print #1, "TM-U210D $21.00"; Chr$(&HA); Print #1, "PS-170 $17.00"; Chr$(&HA); Print #1, Chr$(&HA); 'Line feeding (LF) Print #1, Chr$(&H1B); "!"; Chr$(17); 'Selects double-height mode Print #1, "TOTAL $58.00"; Chr$(&HA); Print #1, Chr$(&H1B); "!"; Chr$(0); 'Cancels double-height mode Print #1, "------------------------------"; Chr$(&HA); Print #1, "PAID $60.00"; Chr$(&HA); Print #1, "CHANGE $ 2.00"; Chr$(&HA); Print #1, Chr$(&H1D); "V"; Chr$(66); Chr$(0); 'Feeds paper & cut Close #1
  7. 4 points
    Hola a todos, yo voy a dejar una macro, solo presionas el botón azul. Salud 84234.xlsm
  8. 3 points
    bigpetroman

    Macro Repetir Accion con BUCLES

    Esto pudiera servirte Dim rCelda As Range For Each rCelda In Range("A2:A91") 'AQUI VA TODO TU CODIGO 'Para abrir el archivo seria asi Workbooks.Open Filename:= _ "D:\25. PROCESO NARANJA\06 MEDIOS MAGNETICOS\FORMATOS\" & rCelda.Value & ".xlsx" 'y mas abajo donde activas el archivo 'Windows("410204105.xlsx").Activate 'seria asi Windows(rCelda.Value & ".xlsx").Activate Next
  9. 3 points
  10. 3 points
    Silvia

    sumatorias diversas

    si es como dice Snake va una opción.. o dos.. sumatorias sq.xlsx
  11. 3 points
    aaquino

    =Si(O* ,copiar columnas con condiciones

    Para hacer uso de la fórmula SI combinada debes hacer las comparaciones una a una: =SI(O(D9="ROJO",D9="AZUL",D9="AMARILLO"),E9,"") Saludos.
  12. 3 points
    johnmpl

    FUNCION SUMA.SI.CONJUNTO CON FILTROS

    ¡Hola, @GUIMAR! ¡Bienvenido al foro! Revisa por favor el archivo adjunto. ¡Bendiciones! ARCHIVO.xlsx
  13. 3 points
    Riddle

    boton a 365 dias

    Hola @juanmanuel85 y @Mauricio_ODN, propongo otra opción, solo click derecho sobre la fecha en la columna "D" y seleccionas la opción para restar o sumar los 365 días. Saludos. BOTON365 (1).xlsm
  14. 3 points
    Mauricio_ODN

    boton a 365 dias

    Hola de nuevo Juan Manuel, los Eventos para Hojas o Libros se administran individualmente (hasta donde tu servidor sabe), por lo que en este caso Worksheet_BeforeDoubleClick, dentro de este evento tienen que ir todas las líneas de código relacionadas con Worksheet_BeforeDoubleClick. Te dejo una opción de cómo quedaría, Comentas por favor. 365 masymenos.xlsm
  15. 3 points
    hola Gustavicevik suponiendo que el dato a buscar se encuentre en H2 en I2 escribe: =INDICE(C2:C13,K.ESIMO.MAYOR(INDICE((A2:A13=H2)*FILA(A2:A13)-1,),1)) **mi separador de argumentos es la coma, si el tuyo es otro corrige. *** si vas a arrastrar la formula hacia abajo, no olvides fijar los rangos con $ como esto A$2:A$13 saludos, Silvia
  16. 3 points
    Silvia

    Tabla Siempre en Pantalla

    Hola Cyidi2000 (y Mauricio ) La opción de Mauricio sería la apropiada (sin macros), excel solo te permite "fijar" en la parte superior para que lo veas mientras bajas (como hizo Mauricio), o a la izquierda, para que lo veas mientras vas a la derecha (este caso, según entiendo, no te sirve). Otra opción, sería que utilices la opción de Mauricio, pero que coloques tus contadores, en la parte superior, en forma horizontal (como cabecera), quizás en 3 grupos... , para que tengas mas espacio para movilizarse en la hoja.. y otra opción, es con macros y una imagen flotante como la que adjunto, que te perseguirá por toda la hoja, cuando des click., la imagen irá actualizando el conteo, según vayas agregando datos.. Revisa el adjunto, ahí también coloqué la Fuente de donde tomé la idea.. . saludos Silvia PRODUCCION SQ.xlsm
  17. 3 points
    johnmpl

    Planilla y Grafico en dos pantallas

    ¡Hola! No dupliques las pantallas. Al crear la nueva ventana, tal como te ha dicho Mauricio (un saludo), ¡Extiéndelas o Amplíalas! mediante las opciones de proyección, busca Extender o ampliar (dependiendo del sistema operativo que manejes). ¡Bendiciones!
  18. 3 points
    Hola johan Te adjunto mi versión con VBA y funciona así La columna B de hoja1 debe estar libre Al abrir el libro se carga la lista desplegable Cuando eliges una letra, debes volver a dar clic en la flecha Para volver a cargar las letras, debes dar doble clic Ya nos comentaras como te fue Saludos Lista desplegable dinamica_GP.rar
  19. 3 points
    ¡Hola, a todos! Verifica el adjunto, por favor. ¡Bendiciones! ValoresMenores.xlsx
  20. 3 points
    Gerson Pineda

    Increíbles dibujos con Excel

    Es ahí cuando me doy cuenta, que no valgo nada jaja Uno de los primeros dibujos que mire fue de un auto deportivo negro (lo publique aqui en el foro, hace años!) Shukei es uno de los mejores, si no (para mi) el mejor! Uno de Shukei Saludos
  21. 3 points
    Riddle

    Increíbles dibujos con Excel

    Quien dijo que en excel solo podemos realizar formulas, tablas o macros?. También podemos usar está gran herramienta para crear increíbles dibujos!! Será q abrimos una nueva sección en el foro para aprender a dibujar en excel
  22. 3 points
    Sub FechahoraTelecom() [C4] = [C4] + 30 End Sub
  23. 3 points
    digitalboy

    ¿Como quitar Archivos Recientes?

    Si usas el código anterior lo único que harás es que la lista de los recientes archivos sea cero (no se borran, simplemente no se muestran) con lo cual el usuario no podrá ver los últimos archivos trabajados, lo que posiblemente ocasione molestias por no poder abrir los archivos con los que se ha trabajado. Dado que tu requerimiento fue: Seria mejor utilizar la siguiente instrucción al cerrarse el libro lo cual lo borraría de la lista de lista de recientes: Application.RecentFiles.Item(1).Delete Saludos!
  24. 3 points
    Antoni

    AYUDA CON SORTEO

    A ver si por fin nos entendemos. Sorteo 40 cartas correlativas en círculo
  25. 3 points
    Anexo otra posible Solución. Saludos a todos. HALLAR CELDAS CON VALOR NEGATIVO.xlsm
  26. 3 points
    Prueba el adjunto y nos comentas Insertar filas por debajo y botón flotante.xlsm
  27. 2 points
    johnmpl

    DETERMINAR VALORES SUPERIORES DE UN RANGO

    ¡Hola, a ambos! La fórmula podría reducirse a: =SI(O(C3=K.ESIMO.MAYOR(C3:AJ3;{1;2;3}));"Si";"No") ¡Bendiciones!
  28. 2 points
    Guauuuu para la pregunta y para la respuesta...
  29. 2 points
    ¡Hola, @Lázaro! Revisa el adjunto, donde con una UDF (Función definida por el usuario) resuelvo el inconveniente. Quizá por el tema de rendimiento, convendría hacer un "macro procedimiento" que genere los valores en vez de hacerlo con la UDF. ¡Bendiciones! DESCOMPONER CUADRO.rar
  30. 2 points
    Antoni

    Cambiar Forma en Comentarios

    Toda la hoja: Sub ModificarAutoformaComentarioHoja() For Each comentario In ActiveSheet.Comments comentario.Shape.AutoShapeType = 10 Next End Sub Un rango: Sub ModificarAutoformaComentarioRango() For Each celda In Selection.SpecialCells(xlCellTypeComments) celda.Comment.Shape.AutoShapeType = 11 Next End Sub
  31. 2 points
    Vladimir

    Unir Hojas en Excel

    Hola Randal Revisa el adjunto. Saludos. Excel-Pruebas.xlsm
  32. 2 points
    Mauricio_ODN

    boton a 365 dias

    ¡Fantástico! Master @Riddle, Me pongo de Pie.
  33. 2 points
    Mauricio_ODN

    Tabla Siempre en Pantalla

    Hola @cyidi2000, con inmovilizar paneles queda. Nos comentas por favor. PRODUCCION.xlsx
  34. 2 points
    Mauricio_ODN

    Planilla y Grafico en dos pantallas

    Propuesta: De tu Libro donde tienes los datos y el gráfico, ve al menú vista, y da click en Nueva ventana. Restaura ambas ventanas y haz la proporción para que cada una ocupe una mitad de tu pantalla. Centra un pantalla en tus Datos y la Otra en tu gráfico y listo. Si cuentas con dos pantallas, cada ventana se colocará en una pantalla. Otra opción sería ver en paralelo. Nos Comentas por favor.
  35. 2 points
    Silvia

    Reporte usando Jerarquías

    Hola a todos.. adjunto otra opción. saludos, Silvia Prueba SQ.xlsx
  36. 2 points
    Es posible usar el Power Query, pero los registros quedarian en una tabla aparte de los datos originales. Aunque si lo que se quiere es lograr algunos calculos sobre campos numericos que acompañen a esos "menores", por ejemplo sumar los 5 menores, o algo así, se podria completar el modelo. Saludos, Filtrar menores con Power Query.xlsm
  37. 2 points
    Hola a todos. Adjunto otra posible solución Private Sub CommandButton1_Click() Application.ScreenUpdating = False Dim Ultimafilacondatos As Integer Dim Filalibre As Integer Ultimafilacondatos = Hoja1.Range("C" & Rows.Count).End(xlUp).Row Filalibre = Hoja2.Range("A" & Rows.Count).End(xlUp).Row + 1 If Filalibre < 1 Then Filalibre = 1 For FILA = 2 To Ultimafilacondatos If Hoja1.Range("C" & FILA) = Hoja1.Range("F" & FILA).Value + Hoja1.Range("G" & FILA).Value Then Hoja1.Range("A" & FILA & ":H" & FILA).Copy Hoja2.Range("A" & Filalibre).PasteSpecial xlPasteAll Application.CutCopyMode = False Filalibre = Filalibre + 1 End If Next For FILA = 2 To Ultimafilacondatos If Hoja1.Range("C" & FILA) = Hoja1.Range("F" & FILA).Value + Hoja1.Range("G" & FILA).Value Then Hoja1.Range("A" & FILA & ":H" & FILA).Delete ' = "" End If Next Application.ScreenUpdating = True End Sub Saludos Copia de TRASPASO.xlsm
  38. 2 points
    En ese caso si los expedientes siempre serán números de 18 caracteres, podemos omitir el "Like" y utilizar la función "Len" en su lugar : Sub transponer(): On Error Resume Next Dim var() As Variant Dim rango As Range Set rango = Range("A1", [A1].End(xlDown)) ReDim var(rango.Rows.Count, rango.Rows.Count) For Each cel In rango If Len(cel) = 18 And IsNumeric(cel) Then x = (x + 1): y = 0 var(x - 1, y) = cel: y = y + 1 Next Range("D1").Resize(UBound(var, 1), UBound(var, 2)) = var End Sub Saludos
  39. 2 points
    Mauricio_ODN

    AMPLIAR FÓRMULA BUSCARV

    Te dejo otra posible soluciòn con fòrmulas. Tambièn comentas por favor. tablas ejemplo.xlsx
  40. 2 points
    ¡Hola, a todos! @Haplox, @Mauricio_ODN: He fusionado los post. @ROSANA, por favor no dupliques los temas, que con ello no lograrás más atención a tus preguntas. ¡Bendiciones!
  41. 2 points
    ¡Hola, a todos! Podría hacerse con una macro... pero me animé a hacerlo con fórmulas (para mi es más divertido). ¡Revisa el adjunto, y comentas! ¡Bendiciones! 84234.xlsx
  42. 2 points
    Haber Solvete, tienes 3 filas con el ID 4: 4 SET VARIAS A B 4 WIS 70245 HOTEL CONTACT ALIZE MONTMARTRE C 4 lala 4785 De el último registro "lala", ¿cual es su celda hermana "SET" ó "WIS"?, cómo distingues entre estas dos. Paciencia por favor, te recuerdo que nos ofrecemos a ayudar, el objetivo del foro es orientar y no hacer tu trabajo.
  43. 2 points
    Hola de nuevo @Solbete, este caso no estaba considerado en tu solicitud inicial, de favor para futuras consultas, trata de incluir todos los casos posibles en tu solicitud, el retrabajo en algo que desespera a todos. En tu nueva solicitud eso se soluciona ordenando los registros de tu tabla de menor a mayor y listo. Trabajaré en tu nueva solicitud, pero antes de incluir la modificación, te pido de favor, que agregues todo los casos posibles o en su defecto me indiques que con este último caso, serían todas la variables a considerar. Nos comentas de favor.
  44. 2 points
    Con un cambio minimo se resuelve el problema. Revise el adjunto. Saludos Validacion e indirecto.xlsx
  45. 2 points
    Antoni

    AYUDA CON SORTEO

    Ahora, no solo no te deja subir archivos de mas de 100Kb, si no que ni siquiera te avisa. Sorteo
  46. 2 points
    Cacho R

    Listbox con más de 10 columnas

    Hola! aaquino. Veamos otra forma de explicar... ¡lo mismo! Tienes dos métodos básicos para acondicionar tu combo/listbox y trabajar con más de 10 columnas y el método AddItem. A cualquiera de ellos los utilizarás dentro del evento Initialize de tu UserForm. El primero sería: With ListBox1 'Especifico el Nº de columnas que se van a mostrar: .ColumnCount = 12 'Creo un vector vacío de 1 fila y 12 columnas: ReDim Aux(1 To 1, 1 To .ColumnCount) 'Se lo asigno al listbox como primera fila de datos: .List = Aux 'Y elimino esa fila auxiliar pues ya cumplió su cometido: .RemoveItem 0 End With Y el segundo método es el que te ha comentado "El Gran Antoni (de la Gente)" : With ListBox1 'Especifico el Nº de columnas que se van a mostrar: .ColumnCount = 12 'Asigno al listbox como primera fila de datos 12 celdas cualesquiera: .List = Range("a1").Resize(, .ColumnCount).Value 'Y elimino esa fila auxiliar pues ya cumplió su cometido: .RemoveItem 0 End With Como verás básicamente "es la misma cosa": asignar al combo/listbox una fila auxiliar de tantas columnas como se necesiten y luego eliminarla. El primer método requiere una línea más de código a cambio de ser inmensamente más rápida (como 1 milisegundo más rápida). Saludos, Cacho R
  47. 2 points
    Antoni

    Reducir la complejidad de un archivo

    Yo me he centrado en el tema de reducir las imágenes. Entre las hojas 1-27 y plantilla pistas tienes mas de 9.000 "botones" y casi 3.000 imágenes, esto es inmanejable, además creo que, o sobran las hojas 1-27 o sobra la hoja plantilla pistas yo me he centrado en este último supuesto. Al grano, para empezar he eliminado la hoja FOTOS y he añadido una columna mas en la hoja NOMBRE para guardar la dirección de la imagen, haz doble-click en la celda para escoger la imagen correspondiente. (Ejemplo: celas H8, H9 y H10). Se puede hacer un pequeño formulario donde mostrar todas la fotos sin necesidad de que estén ocupando espacio en el archivo. He eliminado todas la formas e imágenes de las hojas 1-27, por lo que todas las macros asociadas a ellas, también pueden eliminarse, todo, ha sido sustituido por un formulario de navegación e impresión, Solo está resuelta la parte de navegación, si optas por esta vía, me comprometo a terminar el resto del formulario. Para ello he añadido una hoja, la hoja LISTAS, donde guardamos los conceptos por los que hay que navegar. No he analizado las respuestas anteriores, por lo que lo mas probable es que lo que te propongo entre en contradicción con ellas. Abre el adjunto, añade las 3 primeras fotos y pulsa la flecha azul. Ya comentarás. Evaluaciones
  48. 2 points
    Antoni

    Listbox con más de 10 columnas

    lbxDocumentos.List = Hoja3.Range("A1:M1").Value lbxDocumentos.Clear Esto solo debes ejecutarlo una vez al inicializar el formulario.
  49. 2 points
    Gerson Pineda

    Eliminar celdas vacías en excel

    Saludos a todos Una opción mas con VBA, puedes correr la macro desde cualquier hoja, no elimines los datos de la fila 3 de la hoja2, columnas A,B,C Series con VBA_GP.rar
  50. 2 points
    ¡Hola, a ambos! ( @Silvia... ycpt ) Otra opción puede ser: =--TEXTO(C2;"00-00-00") y, para fechas siempre en el 2000: =--TEXTO(C2;"00-00-""20""00") ¡Bendiciones!
×