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. Hola. Gracias al gran trabajo realizado por el usuario JSD en otro hilo de este foro y mediante el cual ha facilitado acceso a un sistema muy efectivo para generar facturas en Excel, me han surgido algunas características que entiendo le dan más valor añadido, y que en mi caso particular necesito. - Posibilidad de elegir la serie de facturación además del número de la factura. - Añadir el código postal a los datos del cliente. - Añadir diferentes opciones de método de pago o número de cuenta en el que realizar el pago. Gracias anticipadas por su ayuda. Facturación 26082021JSD.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1k visitas
    • 1 seguidor
  2. Started by r1004,

    Todos los libros en una carpeta. Todos tienen unicamente una hoja imprimible, y solo hay contenido en el campo de impresion de la hoja. Se busca guardar masivamente los excels a pdf con el mismo nombre de archivo. Como se hace? Muchas gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 726 visitas
    • 2 seguidores
  3. Started by 96andres96,

    Buenas tardes. Tengo dos filas con distintos nombres en cada columna, y los quiero pasar a una columna sin que se dupliquen los valores, pero no sé como hacerlo. Ejemplo: Tengo estas dos filas con nombres de colores: Fila 1: Azul, Verde, Morado, Rosado Fila 2: Amarillo, Gris, Negro, Azul, Morado, Dorado, Rojo. Y lo que quiero es ir comparando la fila 1 con la fila 2 y que en una columna me coloque los nombres sin repetirlos: Columna 1: Azul, Verde, Morado, Rosado, Amarillo, Gris, Negro, Dorado, Rojo. ¿Cómo puedo hacer esto? Ya que lo que he conseguido con mi código es que al comparar, por ejemplo Azul (Fila 1) con la Fil…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 870 visitas
    • 2 seguidores
  4. Hola Tengo una base de datos con300 filas y 500+ columnas y quiero eliminar los datos repetidos por columna y ordenarlos alfabeticamente. Programe una macro para lo anteriormente descrito, pero no se como crear un bucle para que lo ejecute en el numero de columnas que se le indique. Y el segundo tema es realizar una macro para realizar consultas a la base de datos y/o actualizar datos dentro de la base de datos. Aprecio su colaboracion

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 548 visitas
    • 1 seguidor
  5. Started by EDSANDOVAL,

    Buenos días, tengo una macro que me permite ingresar imágenes en la columna B según los nombres que están en la columna A. Pero ahora quiero agregarle una opción para que sean 2 columnas distintas y las imágenes justo en la columna al lado de los nombres. For i = 2 To Range("A" & Rows.Count).End(xlUp).Row arch = Dir(ruta & Cells(i, "A") & ".*") If arch <> "" Then With Cells(i, "B") Estas son las líneas de la parte de las instrucciones que deseo modificar, pero no consigo que funcionen agregando la columna C como ubicación adicional de los nombre y la columna D para que coloque las imagenes correspondientes.…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 417 visitas
  6. Started by pinoji,

    Hola foristas, espero que estén bien. Hoy acudo a ustedes para ver si pueden ayudarme en un proyecto que necesito para mi trabajo diario. Pretendo en este proyecto VBA llevar la facturación, cuentas por cobrar y la factura en sí propiamente. Me explico: un Libro con tres o cuatro Hojas, donde una Hoja sea la Factura en su modelo oficial, otra Hoja donde se irán almacenando (BD) los datos referentes a esas facturas y otra Hoja donde pueda ir representando las facturas por edades (30, 60, 90 +90 días). Esta hoja la tengo casi terminada con fórmulas o funciones para poder saber el envejecimiento de las mismas (Facturas). ¿Dónde está mi duda? Mediante un Formulario en V…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1.4k visitas
    • 2 seguidores
  7. Started by ndepablo,

    Buenas tardes, me gustaría saber como sería el código para desbloquear un rango de celdas dentro de una hoja protegida. He visto que ya ha habido algunas consultas sobre el tema pero al estar archivados no me deja revisarlos. Gracias!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.5k visitas
    • 1 seguidor
  8. Started by Puche,

    Hola buenos días y Feliz año a tod@s A ver si alguien me puede ayudar con esto. Tengo un UserFrom el cual me realiza entradas, edita, elimina, etc. Las entradas generales siempre se hacen el pagina 1 del Multilistbox, y estas en tienen una condición de que si por ejemplo en la columna de observaciones pongo "HANGAR", entonces debe realizar el registro en la pagina 1 (Principal) y la pagina 2 (Hangar). Todo esto funciona perfecto, el problema que tengo es que cuando elimino o edito un registro, estas acciones solo me las hace en la pagina principal (hoja1 del Multilistbox) Es posible editar y eliminar registros y que según el numero de Tracking haga l…

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 1.6k visitas
    • 1 seguidor
  9. Hola! Como dice el asunto estoy buscando una función personalizada del tipo =Bold(A1) que devuelva el valor de A1 en negrita. Me estoy volviendo loca y no consigo encontrar la solución! Me echáis una mano? Mil gracias!!

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.2k visitas
    • 2 seguidores
  10. Buenos dias, nuevamente voy sus valiosos conocimientos, lo que pasa es que tengo un archivo dentro de ella tengo una hoja llamado "Formato de Tareo 2021" donde hay un boton azul llamado "seleccionar" al presionar clic jala un formulario donde ingreso el dni y me lista los detalles que le corresponde a ese jefe o capataz donde jala directamente los datos de la hoja "DATA PERSONAL" (columna AE), esto funciona todo bien e incluso lo lleva a la hoja todo lo filtrado cuando registro. Pero ahora el jefe necesita que toda esa acciones se haga solo en la hoja poniendo el numero de dni en la celda D4 de la hoja "Formato de Tareo 2021" y me muestre los datos en la ragos de celda t…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 512 visitas
  11. Todos los excels tienen la misma estructura. Y estan en una misma carpeta. Se trata de facturas, y en la celda C5 hay un campo que quiero cambiar. en todos los excells se trata de la misma celda, la c5. Y la quiero cambiar por distindos datos. Es decir: Celda c5 del libro excel "casame"--> cambiar "casa" por "Madrid" Celda c5 del libro excel "divorcio"--> cambiar "sofa" por "Tolomeo" Celda c5 del libro excel "amante"--> cambiar "dormitorio" por "Zalameo" Esta correspondencia la tengo en una hoja de excel. Alguien me puede ayudar? Gracias

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 751 visitas
    • 1 seguidor
  12. Started by ahortac,

    Hola tengo una macro que he utilizado correctamente antes desde windows, necesito abrirlo en MAC. Primero elimine todos los ActiveX controls para que funcione en mac y cambie algunos codigos. Ahora cuando trato de ejecutar el boton me sale error, es porque estoy usando RowSource el cual no funciona en mac. He probado distintos codigos sin exito. Este es el codigo del user form que tengo Private Sub UserForm_Initialize() Dim Uf As String Uf = Hoja3.Range("A" & Rows.Count).End(xlUp).Row ComboBox1.RowSource = "Registros!B2:B" & Uf End Sub Agradeceria si pueden ayudarme a cambiar este codigo sin alterar la …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.3k visitas
    • 1 seguidor
  13. Started by Benito Bartolomé,

    Buenos días a todos; -¿Sería posible cargar una imagen de una Url en una hoja?. He estado viendo algo por la web pero no es justo lo que yo necesito. Adjunto macro de ejemplo. Saludos y buen día. MImgUrl.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  14. With File>Opttions>Personalice Ribbon select the tabs I want to appear in the Ribbon but its imposible. They dont appear. Con MENU>ARCHIVO>OPCIONES>PERSONALIZAR LA CINTA DE OPCIONES elijo las que yo quiero: Fórmulas, Insertar... pero no hay forma de que salgan. En cambio si creo una nueva opción personalizada y la selecciono, entonces aparece enseguida. ¿porqué? Only if a create a new tab, a personalized tab, the it appears inmediatley. Any Help? Thanks Gonzalo

    • 0

      Reacciones de usuarios

    • 24 respuestas
    • 1.2k visitas
    • 3 seguidores
  15. Buenos dias, expertos por necesito una ayuda con un formulario llamado UserMov no me esta mostrando la consultas desde la fecha del 2 de enero hasta la fecha, pero desde 1 de enero atras me consulta muy bien; no muestra ningun error solo borra la lista, ¿ cual sera la falla del sistema ya que he revisado y no encuentro un error alguna.Por favor ayudenme cual es la razón con la que no me muestra los datos desde las fechas indicada. Adjunto el sistema desde el googledrive ya es supera las megas maximas al foro. Usuario: admin Contraseña: admin https://drive.google.com/file/d/17Jvu_HeldTNMHcpS6wUTUWa2wt1S24F0/view?usp=sharing

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 598 visitas
  16. Started by dogwall,

    Buenos días, Tengo montado un Excel con varios formularios. Uno de estos formularios, al iniciarse, conecta con una base de datos Access y muestra los datos de la consulta en un listbox. Ese formulario permanece abierto varias horas y se muestra además en una TV donde poder ver los datos con mayor claridad. Ahora me encuentro con la problemática de que esos datos que se obtienen del Access van a empezar a actualizarlos más a menudo (desde otra aplicación ) por lo que cada 10 o 15 minutos necesito refrescar los datos del formulario que muestro en pantalla sin que el usuario tenga que intervenir. ¿Cómo podría hacerlo para que cada X minutos el formulario se…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  17. Buenos dias, expertos recurro asus conocimientos para perdirles una ayuda, tengo un formulario llamado "FormHorarioMañana" para asignar horario y consultarlo los datos de la hoja llamado "VoluntarioRelacion", estando en el formulario debo desplegar el combobox y me lista los nombres y cuando seleccione una de ellas me debe mostrar en los recuadros del textbox el nombre del area dependiendo del dia y la hora, por favor me ayuden gracias por su tiempo por anticipado. Ajunto el archivo. Horario.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 636 visitas
    • 1 seguidor
  18. buenas tardes ... existe la posibilidad que me puedar ayudar por favor con esta inquietud ?? " en un formulario quiero multiplicar valores de un combobox1 por textbox1 con resultado en textbox3 " pero automático ...sin el boton para ejecutar

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 798 visitas
    • 1 seguidor
  19. Buenas noches a todos.. Tengo 3 columnas (C,D,E) con datos de correos electrónicos, los quiero unir en un sola columna (F). Para ello, utilizo la función concatenar, y los separo mediante el punto y coma Pero cuando una celda está vacía, al concatenar me pone el punto y coma.. Y como se puede ver en la columna "F", aparece al principio los puntos y comas, y cuando la columna D, no tiene datos, me aparecen en medio de los datos de las columnas C y E. Alguien me podría indicar como crear una macro para que se juntaran los datos, y cuando la celda está vacía, no incluya el separador punto y coma. Gracias a tod@s.. Feliz Año 2022.. Concatenar Em…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 856 visitas
    • 1 seguidor
  20. Started by edu23,

    Buenas, tengo una duda/problema Tengo la necesidad de un macro(o tal vez 2) donde la función principal sea el copiar una celda seleccionada o actual al portapapeles, ejemplo: copiar A1(que contiene una formula) aqui tengo: SELECTION.COPY pero luego, tal vez el 2do macro, quiero que al momento de pegar sea: =A1 ejemplo de lo que he imaginado: NoSeQuePonerOSiVayaAFuncionar.PASTE "=" & (no se que poner para pegar/vincular? la celda A1) En resumen... Copiar una celda, no su informacion y pegar agregando un "=" por delante para poder vincularla o ideas de como simplicarlo? Muchisimas Gracias de antemano

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
    • 1 seguidor
  21. Started by Janlui,

    Que sentencia debo de realizar para preguntar si una Celda tiene Comentario. Gracias

    • 0

      Reacciones de usuarios

    • 23 respuestas
    • 4.2k visitas
    • 2 seguidores
  22. Hola, a todos buenas tardes ... Tengo un libro con una pequeña base de datos a la cual le hago consultas y me arroja los valores como veis en la imagen En otra hoja del libro tengo una tabla con el número de entregas que comienzan con el código seguido de 90 celdas en una misma fila Lo que quiero es usar una macro para al seleccionar la celda por ejemplo C9 se haga una busqueda en la tabla y me devuelva la fila de 90 celdas en filas de 9 por lo que pasaria a tener 10 filas de 9 y quiero que vaya dentro del marco negro que se ve en la foto y he estado buscando por todas partes y es que ni me acerco a lo que busco paso foto de la ot…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 517 visitas
  23. Started by bugy,

    Buenas Tengo una hoja que quiero que cada vez que cierre el programa me canvie el formato de las columnas (la F y la G) a texto. Alguna idea de como hacerlo? Muchas gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 668 visitas
  24. Started by Pirtrafilla,

    Buenas tardes. Me estoy liando con una macro y recurro a vosotros porque no le veo salida. En un proyecto que tengo hay una hoja que cambiando el año necesito que en un rango de celdas me aparezca por macro el último día del mes. Os envío un Excel, vereis que que hay un año y en la fila de arriba aparece el contador del mes. (1 enero, 2 febrero, etc...) pero en la celda de abajo necesito que si cambio el año me venga la fecha del ultimo día del mes, Por ejemplo, si pongo 2021, debajo del mes 1 aparezca 31/01/2021, si el mes es 2 aparezca 28/02/2021. A lo mejor os parece fácil, pero me estoy liando y mucho. Gracias de antemano!!! Moisés. Macr…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 835 visitas
    • 1 seguidor
  25. Started by amontalanolla,

    Hola, necesito crear una función que indique si un número pasado como argumento es de gran alcance. De momento tengo la función para hacer la descomposición factorial: Function descomposicionFactorial(numero As Long) As String Dim factor As Long Dim multiplicidad As Long Dim descomposicion As String Dim resto As Long factor = 2 descomposicion = "" resto = numero If numero = 1 Then descomposicion = "1·" End If Do Until resto = 1 If resto Mod factor = 0 Then multiplicidad = 1 Do multiplicidad = multiplicidad + 1 …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 849 visitas
    • 1 seguidor

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.