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 sergiovieri,

    Hola buenas, Me ha surgido la duda y no he encontrado ningún tema al respecto, Se puede introducir código VBA para cualquier evento de hoja, por ejemplo el changes, para una hoja que no existe? Es decir, imaginaros que tengo una única hoja en el libro simulando la portada (Hoja 1), y en ella un botón para que a través de VBA, se origine una hoja nueva (Hoja 2) en la que haya una serie de datos. Hay alguna manera de poder programar para que en esa hoja nueva (Hoja 2), se desarrollé código? Que salte el código por ejemplo con el evento Changes? Un saludo y muchas gracias de antemano.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 466 visitas
    • 2 seguidores
  2. Estimados maestros de Excel. Tengo un problema con la creación de un menú personalizado con un file .xlam. El error que aparece es de automatización. Cuando ejecuto el archivo en excel 2007 windows 7 no aparece el problema (el menú se crea sin problemas) pero sí aparece con Excel 2015 con windows 10 Adjunto el archivo. Adicional, cuando lo voy abrir en 2015 con windows 10 sale un error de excel que me cierra la aplicación. Para poder ejecutar este complemento debo primero abrir excel y luego arrastrar el complemento hasta este excel abierto. En que me he equivocado? Un abrazo desde Colombia Programa_Gestion_Prueba.xlam

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 972 visitas
  3. Started by Blecho,

    Al ejecutar un fichero Excel con macro me salta el "error de compilación en módulo oculto" en una computadora. En otra computadora funciona perfectamente. ¿Alguien podría aportarme alguna idea para solventarlo?. Adjunto fichero en cuestión. Gracias. Acciones formativas.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 8k visitas
  4. Hola a tod@s De antemano agradecer por su tiempo en leer este tema que me complica. La siguiente macro se conecta a una base de datos de Access, realiza la consulta, me extrae la primera linea (encabezado); pero no el resultado. Aparece un mensaje de error " El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual" cuando esta en la siguiente linea: "Recordset.MoveFirst" . Hasta donde pude observar el problema esta en LIKE '801-??-88????-???' ya que si no tomo en cuenta esa parte la informacion extrae sin problemas. He intentado reemplazarlo con LIKE '801-**-88****-***' y de otras formas y siempre me da…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  5. Invitado JORGE PADRON
    Started by Invitado JORGE PADRON ,

    buenas a todos, espero que estén muy bien el día de hoy, en relacion al tema, luego de resolver y consolidar data mediante una macro en vba y desplegando la misma en un formulario( vba ), necesito que por favor me orienten, de que manera se puede copiar ese formulario activo en pantalla al portapapeles y poder posteriormente pegarlo en el cuerpo de una nota de correo en LotusNotes, actualmente lo que hago es seleccionar con el puntero del ratón al formulario, pulsar Atl+Ptrscr, pasar a la nota de correo en Lotus, luego aplicar en esa nota un pegado especial mapa de bits. indicarme por favor si mediante alguna instruccion en vba podemos copiar este formualrio sin necesidad…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  6. Started by Luis paz,

    Hola Chicos, tengo un detalle con una automatización... El evento .click no me funciona y no sé porque, e buscado en internet y no encuentro la solución... Perdon por no poder compartirles el usuario y contraseña para que hagan pruebas, sin embargo, si tienen ideas o links para que pueda leer al respecto, les agradecería... La página se llama SAP es un aplicativo en línea para el control de la contabilidad, entre otras cosas... No funciona: Private Sub CommandButton1_Click() Cargando objIE.document.getElementById("__button0").Focus objIE.document.getElementById("__button0").Click objIE.document.getElementById("__button0").C…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.8k visitas
  7. hola buen día se me olvido mencionar un tema en el foro anterior que me puede ayudar a resolver el inconveniente pero no se como hacerlo enserio agradeceria mucho la ayuda deseo programar una macro en excel para hacer el siguiente ejercicio: Hoja 1: [TABLE=class: cms_table_grid, width: 500] [TR] [TD][/TD] [TD]fecha[/TD] [TD]cola[/TD] [TD]colb[/TD] [TD]colc[/TD] [/TR] [TR] [TD]fila1[/TD] [TD]01/ene/2013[/TD] [TD]a[/TD] [TD]1[/TD] [TD]1[/TD] [/TR] [TR] [TD]fila2[/TD] [TD]01/ene/2013[/TD] [TD]b[/TD] [TD]1[/TD] [TD]0[/TD] [/TR] [TR] [TD]fila3[/TD] [TD]01/ene/2013[/TD] [TD]c[/TD] [TD]1[/TD] [TD]1[/TD] [/TR] [TR] [TD]fila4[/TD] [TD]01/ene/2…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 989 visitas
  8. hola buen día se me olvido mencionar un tema en el foro anterior que me puede ayudar a resolver el inconveniente pero no se como hacerlo enserio agradeceria mucho la ayuda deseo programar una macro en excel para hacer el siguiente ejercicio: Hoja 1: [TABLE=class: cms_table_grid, width: 500] [TR] [TD][/TD] [TD]fecha[/TD] [TD]cola[/TD] [TD]colb[/TD] [TD]colc[/TD] [/TR] [TR] [TD]fila1[/TD] [TD]01/ene/2013[/TD] [TD]a[/TD] [TD]1[/TD] [TD]1[/TD] [/TR] [TR] [TD]fila2[/TD] [TD]01/ene/2013[/TD] [TD]b[/TD] [TD]1[/TD] [TD]0[/TD] [/TR] [TR] [TD]fila3[/TD] [TD]01/ene/2013[/TD] [TD]c[/TD] [TD]1[/TD] [TD]1[/TD] [/TR] [TR] [TD]fila4[/TD] [TD]01/ene/2…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.2k visitas
  9. Tengo un formulario form aplicativo excel , que se habre ejecuta el formregistration y pide algunos datos para registrar un usuario lo tipico , luego se da click en camera y se habre otro userform que muestra la webcam en vivo para luego darle en capture y tomar la foto al usuario que se carga en el userformregistration como vista previa , y luego regresar y darle click en salve al formulario userformregistration, donde la imagen del usuario se guarda en una carpeta donde se tiene este excel form, guardado y los datos se guardan en las celdas del libro sheets1 junto con un dato de la foto en letras, en la celda GAMBAR,, necesito que este aplicativo me deje tomar 2 …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  10. Started by jose antonio,

    FELICES FIESTAS, y que los Reyes Magos os sean benignos. Os deseo los mejores parabienes a partir de este año 2015 A lo nuestro. Hacia el año 2009 conseguí en este foro un calendario, que para mí es excelente en mi desarrollo cotidiano, siendo deciros que no sé quien fue el autor. Pero si lo lee gracias. Desearía ya que mis conocimientos son muy escasos, si podeis ayudarme . En el calendario se vienen coloreando los días disfrutados de vacaciones Me gustaría llegar a poder colorear los días de ausencia, permisos y enfermedad Agradeceros vuestra cooperación y un saludo CalendVac.v2.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 638 visitas
  11. Started by questionAbout,

    Hola intento guardar el documento en Sharepoint como compartirlo en una carpeta que otras personas puedan ver, pero no sé cómo hacerlo. Es posible hacer un código que guarde mi documento excel en Sharepoint.. osea estar trabajando en este documento y luego de dar click en un botón o antes de cerrar el archivo que este se guarde en Sharepoint o en la nube?.. les agradezco si alguien me puede guiar.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.7k visitas
    • 1 seguidor
  12. Started by dureta,

    Tengo un archivo de txt que necesito poder levantarlo y que me conserve el formato, pero necesitaria que me permita poder delimitar la longitud ya que por ejemplo al principio tengo una serie de NUMEROS unidos con un TEXTO, y eso por ejemplo lo quiero poner en dos columnas. aca les deje un ejemplo y el txt para que me ayuden. 20052614048PEREZ CARLOS F 001029758 0.00008000000 0 4774.12 4773.16 0.00 0.00 0.00 0.00 0.00 4773.16 4773.16 4773.16000 0.001 0.0011 1 0 0 4773.16 0.00 0.00 0.00 0.00 30 4773.161 0.00 0.00 0.00 4773.16 0.…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  13. Started by Scraf,

    Hola, Soy MUY principiante y necesito a ver si me podéis ayudar un poco... He creado una pestaña nueva en la ribbon con xml y he añadido un botón que necesito que imprima directamente en pdf una hoja del libro de Excel y que la guarde en la misma ubicación donde está el archivo xlsm. He estado mirando un poco porai pero no he sabido crear el código VBA para hacerlo... Imagino que es muy básico, pero no lo se hacer... ¿Algún alma caritativa me podría ayudar? Muchas gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 684 visitas
    • 1 seguidor
  14. Buenas noches señores AyudaExcel Espero que alguien con conocimientos en programación Vba me pueda ayudar. Paso el siguiente código en vba en word para habilitar automaticamente cuando ejecuto la macro un complemento de plantilla llamado "PlantillaEmailLotus.dotm" Sub Plantilla() ' ' Plantilla Macro AddIns( _ "D:\local\My Documents\Importar a Lotus Notas\LOTUS CORRESPONDENCIA\Add in\PlantillaEmailLotus.dotm" _ ).Installed = True With ActiveDocument .UpdateStylesOnOpen = False .AttachedTemplate = "Normal" .XMLSchemaReferences.AutomaticValidation = True .XMLSchemaReferences.AllowSaveAsXMLWithoutVal…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 5.7k visitas
  15. 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
    • 848 visitas
    • 1 seguidor
  16. Buenas tardes, Estoy teniendo bastantes dificultades para hacer una macro de un Excel con 2 hojas, donde la macro me señale en la hoja2, en este caso renombrada "To-do" las filas que no están en la hoja1, en este caso "Prio". Quisiera que me coloreará las celdas nuevas de la hoja "To-do", copiara las filas coloreadas y las pegará en la hoja Prio detrás de la última celda llena. Adjunto el Excel con el que estoy trabajando. He intentado coger el vba de un compañero que hacía algo similar, pero no me da el resultado esperado. Muchas gracias! Hinweisschild_Control.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
    • 1 seguidor
  17. Buenos días, ¿podrías ayudarme con el código que se debe aplicar para desagrupar todas las columnas de una hoja excel? También necesitaría vuestro apoyo para descubrir como eliminar las columnas que contengan la palabra "Production plan" y "dispatched volume" de la fila 5. Hasa ahora tenía la siguiente formula, pero me da error: Sub Control_Producción() ' ' Control_Producción Macro ' Controlar el material producido vs la producción planificada ' ' Acceso directo: CTRL+p Cells.ClearComments ' eliminar comentario de la hoja' Worksheets(1).Select Set MR = Range("5:5") ' Eliminar columnas que contengan la p…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  18. Started by César David,

    Hola soy nuevo por acá enviarles un saludo, y espero que me ayuden, tengo un Archivo Ejemplo que contiene en la primera ventana el detalle de la facturación el mismo que ira creciendo conforme se ingrese información. En la segunda Hoja 2 deseo una vez se apreté uno de los controles emita un reporte en una ventana emergente que quede casi a la altura del marco que he colocado, el primer reporte debería emitir los datos que indico y asi sucesivamente los otros dos controles, el botón cerrar haría la función de cerrar el reporte cada vez que deseo realizar otra consulta.... bueno espero no molestar su tiempo Saludos César EJEMPLO.xls

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.2k visitas
  19. Started by questionAbout,

    Hola intento aplicar esta fórmula donde el código es una columna que puede variar y wnumero también es otra columna que puede varias, sin importar el orden en que ingresé estas dos variables en la fórmula sumifs, la fórmula aparece no con el rango B15 sino con el rango $b414. O si ingreso A14 aparece la fórmula con $a$415.. .alguien sabe porque ?... Sub fórmula () Dim celda as range Dim pnum as range Application.screenupdating =false With sheets ("reporte") For each celda un .range (.range ("b14"),.range ("b14"). End (xldown) For each celda un .range (.range ("a14"),.range ("a14"). End (xldown) Cel…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 698 visitas
  20. Buen día Estimados, Intento conseguir dejar el zoom en 100% en cada hoja, haciendo referencia a un libro y hoja en especifica sin usar Activate o Select Windows(Nombre del Libro).Worksheets(Numero de Hoja asignado por un For).Zoom = 100 ¿Es posible hacerlo así?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k visitas
  21. Started by Ewerton Costa,

    Buenos Dias, Estoy haciendo un codigo VBA que al dar duplo click en listbox, el mismo dirrecionda todos los dados al formularios, pero que pasa es el seguiente, yo coloque tambien unos botones de adelantar y volver y un label que informa en que valor estamos, soloque este label no avanza quando selecionamos con doble click, y tambien la funcion excluir solo exclui el registro si selecionamos pelos botones de avanzar y recuar, necesito de sus ayada para mi caso Abajo un enlace con mi trabajo en VBA Download Templat2.zip from Sendspace.com - send big files the easy way Atenciosamente

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 803 visitas
  22. Mi codigo esta funcionando al 90% ya que cuando estoy por finalizarlo, y deseo pegar datos que copie previamente de otra hoja, el codigo se interrumpe y no encuentro manera de dejarlo funcional. Estoy copiando datos de la hoja "Tabla1" y los estoy pegando en un libro llamado "REPORTE CC_MACRO" en la hoja "tabla base". El codigo se interrumpe en ' 3. Una vez seleccionada la celda D3, pegar los datos que se copiaron en pasos anteriores Selection.PasteSpecial Paste:=xlPasteValues Codigo completo: Sub BASEV1OK() Dim wsOrigen As Worksheet Dim wsOrigen2 As Worksheet Dim wsDestino As Worksheet Dim rngOrigen As Range Dim rn…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 438 visitas
    • 1 seguidor
  23. Buenas, esto es un trabajo para la U. Aclaro que no estudio nada relacionado a software y es por eso que no sé mucho, Es un programa para un video club (renta de películas). El libro consta de 8 hojas: 3 de alquiler (3 tipos de calidad), 3 bases de datos de películas (DVD, BD, 3D), 1 base de datos de clientes y una de anotaciones. Y el objetivo es que por medio de formularios registre cualquier nueva pelicula (en las tres hojas distindas) o nuevo cliente, que registre los alquileres en la hoja respectiva y que haga las devoluciones en el debido momento. Lo que me falta es lo siguiente: 1. Para grabar un alquiler tengo codigo y nombre de la película y el cliente, lo que…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k visitas
  24. Started by Alcor,

    Hola, Mi nivel de programacion en VBA es medio-bajo. Aunque no soy ajeno al mundillo de la programacion quisiera realizar una consulta a los foreros. Pongamos el siguiente ejemplo. Desde una hoja Excel quiero importar datos externos (en este caso una hoja excel). Lo que yo hago normalmente es poner a grabar una macro, simulo la importacion de los datos y despues paro la macro. Asi obtengo el "esqueleto" del codigo y a partir de ahi lo modifico hasta conseguir exactamente lo que necesito. Mi duda esta en esta parte del codigo (he recortado algunas cadenas de texto porque son irrelevantes) With ActiveSheet.QueryTables.Add(Connection:=Array( _ "OLEDB;Provid…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  25. Buenos días foreros: Estoy teniendo problemas con una lista de validación dependiente. Como sabeis las listas de validación tienen un problema, si pegamos encima de las celdas con validación, esta desaparece. Como solución he utilizado VBA, al evento worksheet_change le he pedido que cree de nuevo la validación y funciona rodeando con un circulo rojo los datos pegados que no cumplen la validación. Hasta aquí todo funciona correctamente. El problema lo tengo cuando la lista de validación es dependiente y la aplico a un rango , por ejemplo b2:b100 Si creas la lista de validación dependiente en Excel ,no hay problemas; pero si la creo en VBA me da error 1004. EN VBA…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k 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.