Saltar al contenido

Macros y programación VBA

Temas sobre la automatización de Excel utilizando macros y VBA. Errores de VBA. ¿No consigues que tus macros hagan lo que necesitas?

  1. Started by Aretradeser,

    Buenas noches, Como vereis, entre otros, utilizo dos UserForm: uno, para la entrada de datos (UserForm1); y, el otro, (UserForm2), para modificarlos. El problema me surge en la modificación de registros (utilizando el UserForm2); ya que, cuando el registro a modificar se encuentra duplicado, aunque con fechas distintas (supongamos uno con fecha de 2013 y el otro del 2014), todos sus registros se duplican. En cambio, si el registro es único, se modifica sin problema. Ejemplo: En la Hoja "INICIO", ejecutamos “Modificación de Informes”, en el formulario que se abre, ejecutamos “Modificación de Datos”, y en en el ComboBox “Número de Registro”, desplegamos y elegimos e…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 953 visitas
  2. Started by aaquino,

    Muy buen día, tarde, noche. Quisiera me pudieran echar una mano con algo. Resulta que en un reporte que estoy generando de una Base de Datos de Excel, me está repitiendo información. La solución puede ser eliminar la duplicidad, pero quisiera entender cuál es el motivo por el que se me está duplicando la información Este es el archivo: Dropbox - Conta.xlsm Ahí hay un botón que llama al formulario para generar el reporte, donde se debe ingresar la fecha de inicio y fin del reporte (por el momento solo hay información para Diciembre 2015) La cuestión está en unas cuentas, que son la 3401020000 y la 3402020000 No entiendo porqué me repite la información, y específica…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 646 visitas
  3. Started by viejo,

    Buen día expertos quiero hacerles una consulta y si alguien me puede ayudar por favor. tengo una imagen en formulario a la cual le quiero hacer específicamente la optimización de imágenes que son: inversión de color, poner en espejo, contraste, nitidez, brillo, escala de grises ¿como puedo hacer eso en un formulario para una imagen en especifico?

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 582 visitas
  4. Hola a todos; -Me habían pasado una macro que adjunto en la que se puede editar desde el listbox. Lo que no se modificar es lo siguiente: Abro el formulario, selecciono desde el listbox el registro a seleccionar y este lo pasa a los textBox. Cuando presiono el botón editar se edita el registro pero me lo pone de primero en la hoja. Yo lo que quiero es que quede en la hoja en la misma fila y no me lo mueva de posición. Adjunto un video explicando el tema: Video: EditarListBox Un cordial saludo para todos. EditarListBox.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
    • 1 seguidor
  5. Started by Neo_95,

    Amigos que tal, estoy necesitando una guia o ayudita con esto tengo un userform donde hay un listbox al hacer click sobre este se abre un userform con los datos seleccionados, y aqui viene mi problema al modificar los datos y presionar modificar quiero se que se modifique el id seleccionado no el id 1 si yo seleccione id 7 que se modifique ese id y para eliminar lo mismo. Aguardo comentarios. Aqui les dejo mis archivos Excel+Access.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 832 visitas
  6. Started by InforCom,

    Buenas, tengo una duda y busque la respuesta por lo menos 1 hora y no la consegui, se que aqui me ayudaran El tema es que tengo un UserForm donde modifico/edito una base de datos que esta en Excel, mi codigo es el siguiente: Private Sub cmdModificar_Click() Sheets("Clientes").Activate If txtCliente = "" Then MsgBox "Debe agregar un Cliente para continuar", vbExclamation, ":: RENATRUC ::" Me.txtBuscarCliente.SetFocus Else op = MsgBox("Está modificando el Cliente: " & txtCliente & ", ¿Desea continuar?", vbYesNo + vbExclamation, ":: RENATRUC ::") If op = vbYes Then u = Hoja2.Range("A" & Rows.Count).End(xlUp).Row With Hoja2.Range("A1:A"…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  7. Hola Masters, Soy nuevo en este foro y primero que nada los quiero felicitar por que ayudan muchísimo a las personas que vamos comenzando en este mundo de excel avanzado. Estoy construyendo una interfaz tomando como base algunos ejemplos que han subido al foro pero me he atorado en querer editar datos de mi listbox y que se actualice en la base de datos al dar clic en el botón "Guardar", espero que me puedan ayudar, les dejo mi excel. Saludos a todos y de nuevo GRACIAS!! Matriz KPI´s OK.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
  8. Buenas a Todos, Deseo saber de que forma es posible que pueda editar registros duplicados en este ListBox, no puedo modificar lo que filtro, me podrían brindar una ayuda por favor. Deseo editar uno por uno y actualizarlo en la base de datos, pero no me permite hacerlo , solo puedo hacerlo con un dato, el resto no me permite modificarlo. Gracias ayuda_2.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
  9. Started by tinin84,

    Buenas compañeros veran mi problema es algo sencillo talvez hasta cause risa pero por las vueltas que le doy no logro solucionarlo tengo 2 textbox "t1" y "t2", logro hacer que el valor de t1 se iguale en tiempo real a t2, ahora no siempre deseo que el valor de t2 sea igual a t1 algunas ocaciones tendre que editar el valos de t2, mi problema es que no logro sobrescribir el valor de t2, puesto como esta igualado a t1 no me permite cambiar su valor. adjunto el archivo con el ejemplo super sencillo para la persona de buen corazon que me pueda ayudar saludos desde ecuador editar TEXT BOX.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  10. Started by Juanpy,

    Estimados del foro, Hace un tiempo cree una CommandBar usando el editor xml UI. El caso es que existen opciones de esta CommandBar que deseo se desactiven en un momento dado. He bajado alguno ejemplo desde el sitio del creador, pero no hacen el efecto dado. La idea: Sub EnableControlsWithCertainTag2() 'Enable only the controls with a Tag that start with "Group2" Call RefreshRibbon(Tag:="Group1Button1*") End Sub [/CODE] [CODE] Sub RefreshRibbon(Tag As String) MyTag = Tag If Rib Is Nothing Then MsgBox "Error, Save/Restart your workbook" & vbNewLine & _ "Visit this page for a solution: http://www.rondebruin.nl/rib…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 534 visitas
  11. Started by exskizzo,

    Buenos dias lluviosos a todos. Les comento mi siguiente duda: Estoy intentando realizar un foliador propio para las hojas que yo decida seleccionar, hasta donde me he quedado es, en que me aplica el foliador para las todas las hojas del libro, pero lo que quiero es aplicar el folio para las hojas que seleccione, subo el archivo con mi foliador y otro libro donde aplicare el folio(consecutivo). Gracias y espero que alguno(s) de los maestro(s) me puedan apoyar con mi foliador. Enumerar.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 608 visitas
  12. Started by giordancisco,

    Como va? acá les comparto un sencillo efecto de desplazamiento de botones dentro de un formulario. Consiste en el deslizamiento de los botones dependiendo de la cercanía del puntero del mouse, funciona a través del evento mousemove del userform. El único problema que estoy teniendo es que el efecto se corta cada vez que el mouse pasa por algún botón o imagen dentro del mismo formulario (lógicamente porque corta el evento que lo dispara). Si alguien conoce alguna manera de conseguir que el efecto continué de manera fluida por todo el formulario les estare eternamente agradecido. Desde ya muchas gracias a todos ya que no lo habría podido conseguir sin el aporte de todos ust…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3k visitas
    • 1 seguidor
  13. Hola, buenos días. Realmente he buscado en varios foros, antes de hacer la pregunta. Quisiera saber si me podrían ayudar con un problema que he tenido estos días de la nada... Digo de la nada, por que al parecer, se han hecho unos cambios de versiones de servidores, que en teoría no iban a generar problemas. Tengo un script en Excel, donde hago una consulta SQL Server, y extraigo información en base a fechas de entrada... Sin embargo, de la nada ha dejado de funcionar cuando lo ejecuto desde Excel, pero si lo hago desde un IDE de SQL Server se ejecuta perfectamente. Mi VBA es el siguiente: With Me CFechaI = Format(CDate(.ComboBox1.Value & "/"…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 786 visitas
  14. Hola, Estoy trabajando con una Excel bastante pesada, de modo que el cálculo de las fórmulas de la misma lo tengo en modo manual, para que el trabajar con el fichero no sea demasiado lento y no hayan interrupciones constantes. Tengo la siguiente rutina, muy sencilla, para que la hoja excel recalcule todas las fórmulas cuando se selecciona un nuevo valor en un ComboBox: [I]Private Sub ComboBox1_Change() [/I] [INDENT][I]Application.Calculate[/I][/INDENT] [I] End Sub[/I] [/CODE] Cuando selecciono un nuevo valor en el ComboBox, efectivamente se inicia el cálculo de todas las fórmulas del libro (en la parte inferior derecha se va mostrando el % de cálculo reali…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 675 visitas
  15. Started by zero,

    Hola Estimados, pido Disculpas por el Titulo del tema, vi que ya estaba con anterioridad, pero bloqueado, lo que quiero saber es que si hay alguna manera de que al ejecutar la macro en la hoja protegida me aparezca en la cinta de opciones habilitados la fuente el tipo de letra combinar celdas entre otros, ya que al ejecutar la macro aparecen todas esas opciones bloqueadas. adjunto archivo e imagen foro.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.2k visitas
  16. Started by fdbchp,

    Adjunto un archivo en zip de vocabulario. En él hay varias hojas: la primera contiene el vocabulario general y las otras contienen el vocabulario según el tipo de palabras. He creado varios módulos (uno por hoja) para clasificar las palabras por categorías pero para ir más rápido quisiera hacer una macro que ejecutase todas los módulos de forma secuencial siendo el último el de "quitar filtro a la hoja vocabulario". ¿Alguien puede ayudarme? Gracias aleman 2013-14.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 599 visitas
  17. Started by GabrielArnal,

    Buenas tardes. Necesito ayuda con el archivo adjunto. Tengo un archivo donde realizo un control sobre las cuentas de varios empleados (+ de 50 en total), donde al apretar el botón de "CTROL CTAS. EMPLEADOS", automáticamente se copia el primer numero de cuenta del Excel, se activa otro programa llamado "Emulación 3270", se realizan un par de acciones donde dentro del programa se pasa por diferentes opciones para luego pegar el numero de cuenta, y lo pega en el programa Emulación donde luego imprime la pantalla con "F6", vuelve a la pantalla de inicio del programa y empieza nuevamente con el siguiente numero de cuenta, así sucesivamente hasta que llega a la celda …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 9.3k visitas
    • 1 seguidor
  18. Started by fgarcesa,

    Buenos días/tardes. Mi nombre es Felipe Garcés y hace algún rato consulto su foro para obtener ayuda en macros, pero esta es la primera vez que solicito ayuda, espero me puedan colaborar y agradezco de antemano su ayuda. Actualmente estoy en un proyecto en donde comparo la hora actual en formato 13:22, con unas horas determinadas de proceso, en caso tal de que las dos horas sean exactamente se lanza una alerta con un mensaje de un formulario. Hasta ahora la macro funciona bien, pero unicamente si tengo el archivo en cuestion activo. La idea es que este archivo siempre este abierto, pero no activo y que yo pueda ir trabajando en otros archivos simultanetamente, pero cu…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 690 visitas
  19. tengo los siguientes codigos y me gustaria tener la opcion de ejecutarlos la cantidad de veces que sea necesario por ejemplo call aleato call zero ejecutar la siguiente cantidad de veces ( ) Sub Aleato() borrar_anteriores With Application .ScreenUpdating = False .DisplayAlerts = False '-- ufila99 = 1 + Hoja99.Cells(Rows.Count, 1).End(xlUp).Row tf = Sheets("estadisticas").UsedRange.Rows.Count tc = Sheets("estadisticas").UsedRange.Columns.Count '-- For x = 6 To 37 Do: f = Int((tf * Rnd) + 1) c = Int((tc * Rnd) + 1) Loop Until Sheets("estadisticas").Cells(f, c) <> "" Sheets("analisis").Rang…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 499 visitas
  20. Buenos días, Tengo un libro donde voy registrando datos en una tabla, y quiero que cada vez que haya cambios en la tabla se realice una acción, pero solamente cuando se haya completado el registro completo del registro. En la hoja adjunta, detecto cuando hay un cambio en un rango ,pero claro, cualquier cambio. y me gustaria poder detectar cuando se hace un cambio en la fila completa de la tabla. Adjunto tambien el fichero... Gracias Registro trabajo.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 583 visitas
  21. Started by Dani2020,

    Sub CambiarColorCeldaCondicion() Dim miRango As Range Set miRango = Range("I7:AM300") For Each celdaActual In miRango If celdaActual.Value = "LJO" Then celdaActual.Interior.Color = RGB(255, 204, 204) If celdaActual.Value = "T" Then celdaActual.Interior.Color = RGB(0, 204, 204) If celdaActual.Value = "L" Then celdaActual.Interior.Color = RGB(119, 210, 85) If celdaActual.Value = "V" Then celdaActual.Interior.Color = RGB(255, 255, 204) If celdaActual.Value = "C" Then celdaActual.Interior.Color = RGB(255, 229, 204) If celdaActual.Value = "I" Then celdaActual.Interior.Color = RGB(189, 183, 107) If celdaActual.Value = "HA" Then celdaActu…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 704 visitas
  22. Started by fredy122,

    estoy tratando de realizar un filtro pero me he estancado en ejecutar el codigo de macro 3 y macro 4 que se tienen que ejecutar en la celda dn3 alguien me puede colaborar en solucionar ese pequeño problema para proceder con el codigo de filtro que ya esta hecho pruebafiltro.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 765 visitas
  23. Started by matt43,

    Hola. Quiero saber si hay alguna posiblidad de ejecutar Application.screenupdating=False Application.calculation=xlCalculationManual Application.EnableEvents=False ActiveSheet.DisplayPageBreaks = False[/CODE] cada vez que le de a un botón en un formulario, y de ejecutar [CODE]Application.screenupdating=True Application.calculation=xlCalculationAutomatic Application.EnableEvents=True ActiveSheet.DisplayPageBreaks = True Application.CutCopyMode = False[/CODE] al finalizar la instrucción. Lo que pregunto realmente es la manera de acelerar un libro con botones, formularios, etc etc, pero sin tener que tocar el código de cada uno ya que son muchos. Algo qu…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 855 visitas
  24. Hola básicamente tengo una duda sobre si es posible que la fórmula que ingresé en vba .. algo siempre como sumar .. se actualice o se aplique cada que cambie un dato en la tabla y que no la pueda eliminar .. con la tablas pivot no más le puse . Worksheet ("menú").pivottables ("tabla1")?pivotcache.refresh. Cuando no es una pivot que puedo usar para que igual la celda que tiene ese código de actualice.. Si cambio la columna A con un 5 en la celda que tiene el código lea que hubo cambio y automáticamente cambie el resultado a 5.. sin usar un botón.. ? Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 375 visitas
  25. Started by tazzmania128,

    Hola a ver si me pueden ayudar en lo siguiente. Estoy con un excel en donde la columna A me muestra los ficheros que hay en un directorio A B C 1 Equipo Numero Serie 2 1.txt 3 2.txt Lo que me gustaría hacer es que en las celdas , por ejemplo, B2 se ejecute un comando de msdos que sería para la celda B2 --------> find B1 A2 para la celda C2 --------> find C1 A2 y me muestre en las celdas B2, C2, B3 y C3 las salidas de los comandos find... espero haberme explicado, subo un archivo por si se entiende mejor muchas gracias por vuestra ayuda test.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas

Información básica de protección de datos

  • Responsable: Sergio Andrés Celemín
  • Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.
  • Legitimación: Consentimiento del interesado.
  • Destinatarios : Hetzner Online GmbH.
  • Duración: Mientras se conserve este post o hilo en la comunidad, o decidas eliminar el comentario.
  • Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email [email protected]

Información adicional: Encontrarás más información en la política de privacidad.