Jump to content

DiegoPC

Members
  • Content Count

    808
  • Joined

  • Last visited

  • Days Won

    31

DiegoPC last won the day on June 6

DiegoPC had the most liked content!

1 Follower

About DiegoPC

  • Rank
    Aprendiz de Mago
  • Birthday 01/29/1980

Profile information

  • Gender
    Hombre
  • Localización:
    Arequipa, Perú
  • Interests
    Excel?

Converted

  • Campos
    ;

Recent Profile Visitors

1,209 profile views
  1. Hola @pearljam Lo que pasa es que en la macro he utilizado diccionarios porque en algunos casos es mucho más fácil que usar un simple array. El tema es que los diccionarios están en un runtime que no viene cargado por defecto en VBA y yo prefiero el early binding al late binding así que hay que adicionar la biblioteca para que funcione. Te preparé un pequeño instructivo para que sepas cómo activarlo.
  2. Exactamente.... El cuadro de saldos actuales, que empieza en la B6, puede tener cualquier cantidad de filas. El cuadro de saldos deseados, que empieza en la E6, también puede tener cualquier cantidad de filas Los nombres de las cuentas podrían estar repetidas en un cuadro o en ambos, igual funcionará. Si pones dos cuentas con el mismo nombre, va a sumar sus saldos. El resultado lo puse en la I20 pero puedes cambiarlo desde el código, solo tiene 2 referencias al final de la macro.
  3. Amigo John.... Hace mucho tiempo pensé que yo sabía mucho de fórmulas, pero luego de conocerte tuve que callarme y no volver a decir eso. Me asombras cada vez más
  4. Hola!! Muy interesante tu dilema. Tal como lo has planteado, no se me ocurre con fórmulas ni tampoco con PowerQuery, no sé si se pueda hacer, pero seguramente algún maestro encontrará la solución. Yo propongo una con macros. Solo presionas ALT+F8 y ejecutas la macro que preparé y te pondrá todo el listado de transferencias a partir de la celda I20. Puedes cambiar el código para que se ponga en otro rango. Reasignación de Fondos.xlsm
  5. Hola Si tienes Office 365 es facilísimo!!! Si no, te aseguro que la fórmula será mucho más complicada. Libro3.xlsx
  6. Hola @JAVISHALOM Es muy importante hacer diseños que nos simplifiquen la vida, no que nos la compliquen. Entiendo que tienes dos preguntas: la 1 y la 25 y quieres validar si el usuario responde igual a ambas preguntas pero, por deducción (y espero no equivocarme), pienso que solo puedes contestar UNA opción "A" o "B" en cada pregunta. Según la forma en que lo diseñaste, al haber dos celdas en cada pregunta, yo podría responder "A" y "B" en ambas o "A" y "B" en una y solo "B" en la otra... a lo que voy es que el diseñarlo con dos celdas para responder a cada pregunta me parece que es complicarte la vida, debería ser solo una celda donde escribes "A" o "B" y tu fórmula sería mucho más sencilla. La fórmula que estaba en la celda no devolvía la respuesta que querías por una enorme falla lógica. Tu error no creo que sea de comprensión de Excel sino más bien parece ser un error de conceptos de lógica. Te recomiendo revisar conceptos de lógica proposicional para que puedas comprenderlo mejor. Bueno, por lo dicho anteriormente, creo que tu fórmula sería mucho más sencilla de hacer si solo hubiera una celda para responder cada pregunta; asumiendo que igual necesitas hacerlo tal como lo planteaste, te presentó una opción para lograrlo. EJERCICIO.xlsx
  7. Bueno, entonces podría ser así: X= ThisWorkbook.Worksheets("Simulación ingresos M").Range("A" & Rows.Count).End(xlUp).Row + Abs((ThisWorkbook.Worksheets("Simulación ingresos M").Range("A" & Rows.Count).End(xlUp).Value <> ""))
  8. Saludos, grandes maestros de las lejanas tierras @Maria_80 se puede saber lo que quieres así: If Workbooks.Count>1 Then Msgbox "Hay varios libros abiertos" exit sub End If Pero no tiene sentido que limites al pobre y sufrido usuario y que tenga que cerrar todos los libritos que con esfuerzo abrió... no es necesario que lo hagas si tu código es capaz de manejar muchos libros y hacer lo que quieres en cualquiera de ellos.
  9. Hola jgrc93! Pues si en esa hoja tienes una tabla, la solución es simple... no le sumes 1 al final. Cambia esto: x= ThisWorkbook.Worksheets("Simulación ingresos M").Range("A" & Rows.Count).End(xlUp).Row + 1 Por esto: x= ThisWorkbook.Worksheets("Simulación ingresos M").Range("A" & Rows.Count).End(xlUp).Row
  10. Bueno, siendo legales, merito, merito, no se puede. Pero la viveza criolla y vivir en un país donde te las tienes que ingeniar, te enseña a que logres lo que quieres sea como sea... aunque Excel no quiera 😁 (si o no @Silvia ) Inmoviliza, pero con trampa.xlsx
  11. Buenas tardes Vladimir / un gusto coincidir gran maestro Antoni Adjunto otra opción, aunque no tan pequeña como la de Antoni Prueba concatenar textos consecutivos.xlsm
  12. Hola, puedes hacerle esta modificación: Function contar_unicos(rngSeleccion As Range) Dim collUnicos As New Collection Dim rngCell As Range On Error Resume Next For Each rngCell In rngSeleccion.SpecialCells(xlCellTypeVisible) collUnicos.Add rngCell, CStr(rngCell) Next rngCell On Error GoTo 0 contar_unicos = collUnicos.Count End Function
  13. Hola Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then 'Puedes hacerlo con... Target.Next.Value = "" 'Pero la anterior tal vez no funcione (depende de la configuración de tu Excel) así que también puedes hacerlo de esta forma Target.Offset(0, 1).Value = "" End If End Sub
  14. Hola Leandro Ese cuadro lo puedes ver en Validación de Datos, en la ficha "Mensaje de Entrada"
  15. Hola Rover Solo para aclarar, la solución que hice es flexible y permite adicionar múltiples rangos con tasas diferentes, solo hay que cambiar o adicionar el dato en la columna "HASTA" y los cálculos se harán por sí solos.
×
×
  • Create New...

Important Information

Privacy Policy