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. Saludos a todos: Tengo 3 tablas en el archivo de access, de la tabla me gustaría traer los datos por un rango de fechas y que los ordenara de acuerdo al Id y fecha, de la tercera tabla seria sumar por mes y año de acuerdo a cada Id y clave, de la segunda tabla es sumar por mes y año por cada Id. Adjunto un pequeño ejemplo solo con los datos necesarios, ya que realmente tengo mas columnas en la tablas de access Agradezco de antemano su apoyo y/o sugerencias Saludos datos.mdb Datos.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  2. Hola, compañeros, tengo una tabla de excel con dos columnas una el DNI y otra la fecha con la hora Necesito algo como Si C3 es igual que C4( es decir el mismo dia) entonces C4 menos C3 y ya el resultado lo mostraria con formato horas y luego sumaria esa columna Despues calcularia los dias laborables del mes de enero segun cuadrante de turnos. Asi sabria si el trabajador ha hecho horas de mas. horas_dia.xlsx

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
    • 1 seguidor
  3. Started by chiquitinx,

    Buenas tardes estimados(as): Tengo una duda, al aplicar código fuente para que de acuerdo a parámetros se pueda realizar una búsqueda dentro de un rango de celdas, en las cuales los encabezados de columnas representan fechas, y las filas códigos de grupos. Se requiere realizar una búsqueda por fecha y código para introducir en la intersección un valor que se tiene en un textbox. el código que se utiliza es el siguiente: Sub busqueda() Dim fecha As Date Dim columnas, filas As Range Dim a, b As Integer fecha = dia & "/" & mes & "/" & año Set columnas = Range("af3:ds3") Set filas = Range("c4:c94") a = filas.Find(codigo, , xlValues, xlW…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 544 visitas
    • 1 seguidor
  4. Buenas noches, Bueno, creo que el título ya resume toda mi duda, estoy programando un nuevo sistema en Excel y me vino a la mente esa duda, ya que realizo varios registros que casi tienen la misma estructura pero se van a distintas bases de datos con distinta información, por eso mi duda era saber que era mas eficiente, si realizar diseñar un solo formulario que me sirva para varios propósitos (tendría un código de programación muchísimo mas largo, aunque estaría sub divida por módulos) o tener varios formularios para cada propósito (el código sería mas corto pero la cantidad de formularios pasaría de 1 a 10 por ejemplo) Existirá diferencia? , Mejora o reduce la…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 739 visitas
    • 2 seguidores
  5. Started by Esteban Baca,

    Hola amigos capos de la programación: En primer lugar felices fiestas y muchas bendiciones. En segundo lugar viene lo bueno, miren les adjunto mi archivo de excel, donde estuve aplicando las enseñanzas de Cacho R., pero me encuentro con un problemita, en realidad no se si es problema pero si quisiera saber si se puede hacer. En el archivo especifico lo que quisiera hacer. Les explico yo tengo una macro que a travez de un formulario ingreso datos, al momento de consultar los datos, se abre una ventana de internet explorer con el resultado, que es un codigo, yo quisiera saber si es posible extraer ese codigo a una celda de excel sin abrir el internet explorer, saber si e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  6. Started by yameregistre,

    Buen día Si en las cinco primeras filas de la columna A tengo los siguientes valores (en A1, A2, A3, A4 y A5 respectivamente) A 1 Negro 2 Amarillo 3 Azul 4 Rojo 5 Verde Y coloco en vba el siguiente código: Sub Prueba 'Estando en A5 subirá fila por fila y se detendrá cuando encuentre la palabra Noche Range("A5").Select While ActiveCell <> "Noche" ActiveCell.Offset(-1, 0).Select Wend End Sub ¿Quisiera saber por qué genera error? La respuesta más simple sería porque nunca encontró la palabra Noche al ir subiendo desde A5 hasta A1, celda por celda, pero ¿por qué genera error exactamente? ¿El while genera error porque nunca se detuvo? ¿Genera error …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
  7. Started by magniflow,

    Buenas tardes: Disculpen la molestia necesito que me ayuden. Solo le falta esto a mi proyecto. Necesito que al momento de darle grabar a mi formulario, se borren los datos que ingrese en el userform3 o sea en los textboxs, pero que no afecte en nada la validación de datos. A ver si me pueden ayudar intento cambiar los hide por unload pero se malogran las validaciones. Espero que alguien me pueda ayudar Control Km..zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.1k visitas
  8. Started by Sebastianss,

    Hola amigos Excel 2010 Tengo una hoja con datos string en el rango A1:A15600 Los datos (string) se presentan entre dos guiones. Después del primer guión puede haber ninguno o n ceros. Por ejemplo: A-0001234-XX debe quedar A-1234-XX A-01234-XX debe quedar A-1234-XX A-0001234-XXXX debe quedar A-1234-XXXX Como se nota en los ejemplos arriba indicados, después del segundo guión puede haber 2 o 4 caracteres. Si el primer caracter es >= 0 agregar 20 antes del primer caracter. A-000A-1234-00 debe quedar A-1234-2000 Si el primer caracter es mayor que cero agregar 19 A-000A-1234-95 debe quedar A-1234-1995 Si hay hay cuatro caracteres dejarlos. Por ejemplo A-00…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.7k visitas
  9. Started by Luis Mi,

    buenas, estoy haciendo unas pruebas con vba, tengo codificados tipos de gastos en la hoja "tipogasto", en la que a cada tipo de gasto se le asigna un número. Lo que quiero es que en la hoja1, cuando en la columna código ponga un número me escriba en la columna c, tipo de gasto, el tipo de gasto que le corresponde a este número según la hoja tipogasto. quiero hacerlo con vba, y lo he conseguido, pero el editor vba se queda colgado ejecutando el código. El archivo adjunto es un pequeño ejemplo, de una base de datos extensa, en la cual debo aplicar este caso en varias ocasiones, para tipos de gastos, proveedores, acreedores, etc....No quiero pensar lo que le puede costar.…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 879 visitas
  10. Started by artmandu,

    Hola Saludos a Todos!!!! Tengo un problema trabajando con texto, estoy usando un textbox y lo que necesito es que si el texto ingresado en este es mayor de determinado numero de caracteres sea repartido en diferentes filas en la hoja de excel, por mas que busco la manera de hacerlo no consigo hacerlo, espero me puedan ayudar el numero de caracteres máximo es de 42 por fila muchas gracias de antemano Saludos Cordiales Arturo

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 704 visitas
  11. Started by Altamira123,

    Buenos días, Antes de nada decir que de Visual Basic no sé absolutamente nada. Gracias a tutoriales he conseguido crear un archivo con varias formas que unidas representan el mapa de España por Comunidades Autónomas. La idea es que en función de una escala de valores, las Comunidades salgan rellenas de un color u otro. He conseguido hacer esto utilizando los colores más básicos, pero lo quiero hacer con degradados de azules, verdes o cualquier otro color y ahí viene el problema. Cuando sobrepaso el número 80 de color en la formulación me da error. Os subo el archivo para que lo podáis ver (debido al peso del archivo no me deja subirlo). Pego aquí la macro y…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  12. Started by josegomez,

    Saludos a todos solicitando nuevamente su ayuda, lo que deseo hacer es leer desde Excel a Access es decir poder ver la información que contiene Access(tablas,consultas, formularios etc.). Buscando en la red me encontré con este ejemplo que conecta Excel con Access pero no me funciono, no se a que se deba. De antemano muchas gracias. Saludos!!! Leer una base de datos access.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  13. Started by elenatoled,

    Estimados, tengo una planilla en excel 2003, a la cual quiero ponerle una especie de semaforo bajo las siguientes condiciones (info incluida en el adjunto): Si en la columna L (que indica dias desde el inicio) el valor es mayor a 30, en la columna A se debe mostrar un circulo rojo Si en la columna L el valor esta entre 15 y 30, en la columna A se debe mostrar un circulo amarillo Si en la columna L el valor es menor a 15 o en la columna N el estado es cerrada, se debe mostrar un circulo verde... Probe de muchas formas (en 2007 lo puedo hacer muyy facil!!), pero no me es posible llegar al resultado deseado en 2003...se que debe ser una macro,pero no tengo claro como …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.7k visitas
  14. Started by sigmas57,

    Buenas noches. Estoy trabajando en una idea de hacer una animación con una macro de excel, pero me gustaría saber como puedo ejecutar todas las macros que he grabado de manera secuencial usando solo un botón. es decir que al oprimir el boton se ejecute la macro1 luego la macro2... macro_n hasta que se terminen. Adjunto esta el archivo con las macros. Gracias Libro1.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3k visitas
  15. Started by jprz,

    Amigos, una consulta. Tengo archivos de pruebas que quiero compartir con otras personas, pero quiero que solo lo pueda instalar en 1 o 2 PCs ¿hay alguna manera de hacer esto?. ps no quiero que compartan el archivo con otros. Gracias, Adjunto mi archivo. Formulario-en-VBA-aplicado-al-Registro-de-Ventas-de-un-Restaurant 12-04.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 811 visitas
  16. Started by 96andres96,

    Buenas. Tengo un libro de excel donde dependiendo del valor de unas celdas (Inicio de sesión) quiero que se muestren unas hojas y se oculten otras. Tengo esta macro: If Sheets("Principal").Range("K23") = Sheets("Usuarios").Range("B4") And Sheets("Principal").Range("K24") = Sheets("Usuarios").Range("C4") Then 'Se comprueba usuario y contraseña ''USUARIO1 Dim Hoja As Object For Each Hoja In ActiveWorkbook.Sheets If Hoja.Name = "Inicio1" Then 'Quiero que se vea la hoja Inicio1 Hoja.Visible = True Else Hoja.Visible = False 'Oculta el resto de hojas End If Next Hoja Sin embargo, cuando voy a ejecu…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.6k visitas
    • 2 seguidores
  17. Started by Miguel A. Tamaniz H.,

    buen Dia masters Tengo el siguiente código con el cual pretendo enviar por correo dos hojas ("Parts Service", "Fault ") de este mismo libro, pero antes de enviar esas hojas quiero que me las guarde en una ruta , la cual ya solucione, ya que genere una lista de los archivos adjuntos que se enviaran, pero me sigue saliendo el error 440 "Se produjo el siguiente error: No se pueden agregar los datos adjuntos. Falta el origen de los datos", pero lo chistoso es que se enviar el correo con los archivos adjuntos Requiero de su apoyo en dos cosas, optimizar el codigo si se puede, si no pues solo la solucion del error De antemano agradezco su apoyo con mi codigo.....…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 882 visitas
  18. Started by gacg1310,

    Buenas Tardes: Tengo 2 hojas en excel una categorias y otra subcategorias. Necesito crear 2 combobox en un userform y que suceda lo siguiente: 1. combobox categoria sea medicamento combobox subcategoria aparezcan humano, fitoterapeutico, homeopatico, veterinario y oficinal. 2. combobox categoria sea cosmetico combobox subcategoria aparezcan humano, veterinario y dermatologico. 3. combobox categoria sea suplemento dietario combobox subcategoria no aparezca nada 4. combobox categoria sea alimento combobox subcategoria no aparezca nada 5. combobox categoria sea plaguicida combobox subcategoria no aparezca nada Una vez mas gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4k visitas
  19. Started by jroncalla,

    Necesito crear un programa para mostrar los números primos inferiores a un número siendo N un número entero positivo mayor que uno. Implementar el programa en un USERFORM que vaya colocando los resultados de los numeros primos en el excel en columna, a partir de una celda seleccionada por el usuario. Se debe colocar un boton en la hoja que llame a la .Por ejemplo, los números primos menores que 50 son: 2, 3, 5, 7, 19, 23, 29, 31, 37, 41, 43. Si N=50, el programa debería imprimirlos en columna a partir de la celda seleccionada. Un procedimiento clásico para hallar todos los números primos menores que un entero positivo es la llamada criba de Eratóstenes. Lo que se hace…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 5.4k visitas
  20. Buenas a todos, acudo a su ayuda para intentar terminar una macro en la que llevo comiéndome la cabeza bastante tiempo. Resumiendo, lo que intento es hacer una hoja de firmas de profesores, en la que según los horarios de cada profesor, donde tienen clase o alguna actividad la casilla quede en blanco con la intención de que firmen y donde en su horario no tengan clase pues aparezca una X para no firmar. Por tanto, la planilla sería diaria, para firmar cada día de la semana, de manera que según el día seleccionado en la lista desplegable de la hoja "HOJA" del Archivo principal "MACRO FIRMAS", la macro abra los archivos de los horarios de los profesores, que se en…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  21. Buenas tardes Quisiera saber como podria agregar una columna en un listbox donde pueda digitar cantidades segun la lista de materiales que aparecen en el listbox... EL formulario aparece al hacer click en el botón "Liquidación de Materiales" Gracias por la ayuda. Sistema de Inventarios.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4k visitas
  22. Started by beto2269,

    buen día comunidad me gustaría aclarar una duda si es posible realizar y/o modificar datos de una columna sin que se tenga que registrar en una hoja primero para poder visualizar el dato en un listbox llevo dias tratando de realizar esta consulta no lo e logrado lo que me gustaria ver en el listbox sin insertar en una hoja el dato modificado de una caja de texto, que quiero decirlos datos estan cargados en el listbox con un control de busqueda tipo texto carga el listbox con otro textbox quiero colocar un dato numerico y este a su vez cambie la columna 4 del listbox realizando una suma o la operacion matematica que quiera implementar y se visualize en el listbox es decir …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  23. Started by tinin84,

    como estamos mis estimado ,pues veran venga austedes solicitando me ayuden con una pequeña cosita. de por si no me gusta usar el mouse cuando estoy digitando es por eso que tengo mi formulario ordenado para saltar de campo en campo con la tecla tab. pero tengo problemas al asignar los valores a los check box y option boton necesariamente tengo que agarrar el mouse para asignarle un valor a esos controles mi pregunta seria. existe alguna manera de poder asignarle valores con la tecla enter?. asi por ejemplo me voy moviendo con la tecla tab cuando llegue a un checkbox oprimo enter y se seleccione como tildado y asi pueda saltar al siguiente campo con tab. todo eso sin …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.2k visitas
  24. Started by Regrasa,

    Estimados adjunto un archivo el cual tiene un listbox y un textbox de busqueda donde localizo el numero de un equipo pero quisiera para no ponerle otro textbox que solo me cargue en el listbox las ordenes de trabajos que se encuentran con la palabra abierto cualquier ayuda que me puedan ofrecerme les estare agradecido. Para cargar el listbox presionar el boton 1 que aparece en la hoja 1 Libro1.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
    • 1 seguidor
  25. Started by kai7as,

    Hola a todos, espero no molestarlos con esto, estoy practicando un poco con los bucles, quiero realizar un cuadrado de números del 1 al 16 que se distribuyan de la siguiente forma: En la 1ra Fila: 1 al 5 En la Columna 5 Fila 2: 6 al En la Fila 5 Columna 4: 10 al 13 En la Columna 1 Fila 4: 14 al 16 Lo he logrado hacer pero con abundate codigo y no quedo como conforme, favor su gran ayuda si se puede optimizarlo un poco y darme un feedback para ir mejorando. De antemano muchas gracias, Dios los bendiga. Ayuda.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 593 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.