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 comunidad AyudaExcel Primeramente quiero agradecer al compañero brayann91 por la ayuda brindada en el tema anterior (SOLUCIONADO) y claro, a todos aquellos que se tomaron el tiempo de leer el problema. Ahora vuelvo a solicitar su ayuda les explico: Nuevamente tengo una base de datos tipo "agenda" en la primera hoja al seleccionar un nombre de la lista despegable indicara la información de la persona. Pero, en la celda D17 de Comentarios se debe rellenar después. La demás información la relleno con la macro Ctrl + Shift + G excepto "comentarios" en la celda Guardar . Lo que necesito es insertar un comentario en la celda D16 y que está inmediatamente se guarde en la …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
  2. Started by ensacamo,

    Hola a tod@s Tengo un formulario con varios TextBox y un Label. Tengo la siguiente instrucción para que dependiendo de la pantalla, y su resolución, este formulario se expanda. Pero lo que no consigo, porque no se como se hace, es que los TextBox y el label, se centre automáticamente dentro del formulario. Gracias anticipadamente por vuestra ayuda. Private Sub UserForm_Initialize() Me.Height = Application.Height Me.Width = Application.Width End Sub

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.3k visitas
  3. Started by Ruilla,

    Buenos dias, Necesito de vuestra valiosa ayuda nuevamente, en un caso que espero tenga solución: Tengo este código que al ejecutarlo copia de hoja1 los rangos A2:A10, B2:B10, D2:D10, E2:E10 a la hoja2 en la siguiente fila vacia, limpiando todos los datos de hoja1. Mi problema es que hay datos que cuando vuelvo a rellenar la hoja1 se repiten en hoja2 y al ejecutar la macro quisiera que verificara si está repetido , si es así, no debe de copiar la nueva fila pero si debe sumar a la que hay en la hoja2 la cantidad de "ENTRADAS". Y como podría hacer que el numero de contenedor de hoja1 se pusiese en la columna de contenedor numero de hoja2 en cada una de las filas que co…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k visitas
  4. Started by jeladio,

    Hola Amigos: Quisiera saber su existe algun macro que auto ejecute otro macro contenido en un formulario cada 2 segundos y que se empieze a ajecutar al abrir el formulario, lo que pasa es que en este formulario tengo un textbox que necesito que se actualice cada 2 segundos para tener datos actualizados. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  5. Started by Gerardo Arevalo,

    Hola a todos buen dia. Tengo una pregunta y un verdadero kilombo espero me puedan ayudar u apoyar, veran tengo una macro que genera varias hojas dentro de un libro lo que me gustaria hacer es que por cada hoja que exista en el libro me haga un libro nuevo, es decir si son 50 hojas dentro del libro, me genere 50 libros nuevos copiado dentro del libro la hoja que le pertenece y que el libro se guarde con el nombre de la hoja. Estaba empezando con la macro pero la verdad me eh perdido loco! Sub insert() For i = 2 To Sheets.Count Sheets(i).Select If ActiveSheet.Name <> "PRINCIPAL" Then Worksheets.Add Else End If Next End Sub […

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 814 visitas
  6. Hola, Tengo una dificultad con un libro llamado Presupuesto de obras, el cual tiene barias hojas llamadas APU, donde se describen el Análisis de precios Unitarios de cada Item o Actividad, en este aparecen cantidades de materiales por unidad, la idea es que mediante una función o macro, calcule los valores de las celdas Cantidad/rend X cantidad del item y luego muestre el resultado total en la tabla Materiales, mas detalles en el Libro anexo en la actualidad, en la tabla materiales hace el proseso pero al verificar la operacion manual no da coincide con el resultado del macro, si por fabor me pueden ayudar a corregirlo. gracias Presupuesto de Obra 2.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  7. Started by Akaro,

    Posiblemente me ligue un reto, pero busqué en problemas resueltos y ninguna de las soluciones planteadas dan un viso de ayuda a mi problema. Estoy haciendo una tabla histórica de datos de equipos de fútbol. Tengo que sumar 22 años de estadísticas. Como verán en el adjunto, la tabla tiene los partidos jugados, los ganados, empatados, perdidos, goles a favor y en contra, dif de goles y puntos de cada equipo. El tema es que los números que allí aparecen perteneces a una temporada y yo quiero ir sumando agilmente las temporadsa restantes (sin usar la calculadora porque es muy engorroso) Tomemos como ejemplo el Club Atlético Almagro ya tiene completo todos los rangos y aba…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  8. Started by Wrongdoer,

    buenas tardes, por alguna razon no consigo registrar el dtpicker en office 2010, lo registre mediante ayudas de internet en varias maquinas con MSCOMCT2.OCX pero en otras no me deja. gracias por la ayuda

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  9. Buenas Tardes Gente a continuacion les dejo un ejemplo basico de macros que crea BD,Tabla,LEE,escribe me funciona bien en windows xp., lo probe en windows 7 y no funciona, Si alguien tiene algo referente por compartir o algun tip., Algun Ejemplo de estar escribiendo Datos en excel y que los este guardando al SQL, me seria de gran ayuda ya que la BD ya la tengo creada ya solo quiero estar alimentandola atraves de excel Soy nuevo en esto, pero me estoy esforzando para adquirir algunos conocimientos. Espero de su Colaboracion gracias. Test.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 991 visitas
  10. Started by Potter08,

    Buenas, tengo una inquietud, alguien me podria ayudar con un macro para asignar nombres de rango desde valores de celda segun el archivo que adjunto espero su comentario. Salu2 Esto lo consegui con esta macro, genera una hoja con los nombre definidos de los rangos del libro. Sub List_All_Defined_Names() Set NewSheet = ActiveWorkbook.Worksheets.Add i = 1 For Each nm In ActiveWorkbook.Names NewSheet.Cells(i, 1).Value = nm.NameLocal NewSheet.Cells(i, 2).Value = "'" & nm.RefersToR1C1Local i = i + 1 Next End Sub[/CODE] Ejemplo nombres de rango.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 920 visitas
  11. Started by jeladio,

    Hola amigos: Quisiera saber si existe alguna manera de visualizar un formulario de access desde formulario excel y poder ejecutar los macros que en ella se encuentran. saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 881 visitas
  12. Hola amigos necesito ayuda con un archivo me super urge. Tengo un archivo con una base de datos y en el cual se van llenando y ordenando por fechas, al momento que se termina de llenar los datos de la fila que sigue despues de la ultima que se dio de alta. Se da clic en el boton que tiene una macro que se posiciona en la celda C1 y de ahi baja hasta el ultimo registro y selecciona toda la fila completa y de ahi la copia en un correo nuevo de Outlook y lo manda al destinatario del correo que ponemos en el codigo de la macro, es aqui donde necesito ayuda, ya que quiero que en ese mismo codigo en lugar de seleccionarme solo el ultimo registro que primero me seleccione la pr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  13. Saludos a todos, Realice una macro que realiza la simulación Montecarlo, pero debido a mi poca experiencia en programación VBA, el uso excesivo de los ciclos hace que mi programa sea muy lento al realizar varias iteraciones (alrededor de 5000 iteraciones), por lo que necesito ayuda para optimizar el código. Se que se puede usa la sentencia "With Sheets....." pero no entiendo muy bien como se usa. Alguien podria ayudar a optimizar el código? Les presento algunos casos: 1. Primero se carga un archivo con los datos y precios de los títulos que se evaluaran en la simulación Montecarlo, una vez cargados, debo tomar los títulos y colocarlos en otra pestaña, pero estos título…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.5k visitas
  14. Buenas, les cuento, tengo casi nulos conocimientos de VBA para las macros de excel y se me asignó una tarea para los próximos días, la cual intento llevar adelante hace un tiempo pero no logro realizarlo. El problema a resolver es: En una carpeta se encuentran 7 archivos -libros de excel-, 1 por cada vendedor con su nombre. (este el formato base: https://dl.dropbox.com/u/10387731/Ejemplo.xlsx ) Y necesito generar un nuevo libro que reúna en UNA SOLA HOJA (las filas una debajo de la otra), la primer hoja de cada uno de los 7 libros de cada vendedor (se llaman "CARGA" las Hoja1, aunque no se si este dato importa demasiado). Ahora bien, necesitaría que se genere con cier…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 603 visitas
  15. Started by camiluchis,

    verán, estoy haciendo un programa en el cual debo insertar una imagen (algo así como una base de datos) y lo que quisiera hacer y no me sale es que en otra celda me ponga el nombre de la imagen seleccionada. adjunto un ejemplo del archivo que estoy haciendo a ver si alguien me puede ayudar. desde ya muchas gracias! ejemplo.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.7k visitas
  16. Started by txemax,

    Hola. Estoy haciendo mis primeros pinitos con esto de las macros y necesito vuestra ayuda. El archivo que adjunto es una simple tabla que refleja lo que aporta cada jugador semanalmente (filas pares a partir de B4) y lo que le corresponde a cada uno cuando hay premio (filas impares a partir de B4). Mediante macro (sacada de este foro y adaptada) he conseguido mediante los botones Ocultar y Mostrar hacer eso con las filas impares, que como son celdas calculadas no tienen por qué estar visibles siempre. Con otras 2 macros oculto y muestro las filas y columnas que no tienen ningún tipo de dato. Pero necesito vuestra ayuda porque pretendo que cuando introduzca todos los …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  17. Hola a todos. Trato de explicaros lo que necesito. En la hoja tengo una celda donde voy a introducir una cadena de texto. Lo que necesito es una macro que compruebe si el texto de esa celda está en el nombre del documento. Imaginaros: Tengo en la celda 123456. Si el documento se llama 'Documento 123456 Provisional.xlsx', me tendría que salir un mensaje de 'OK'. Si en el nombre no estuviera esa cadena '123456' me tendría que salir un mensaje de 'Renombre el fichero con la el nº de documento'. No sé si para hacer esto sería con el Cells.Find... no sé, ando un poco perdido. El fichero adjunto es un poco simple, pero no se me ocurría que poner para hacerlo algo más compl…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 710 visitas
  18. Started by jeladio,

    Hola amigos: Acudo a ustedes para que puedan ayudarme con lo siguiente: tengo 2 macros 1 que sube fotos a una base de datos MYSQL y otra para bajar las fotos, y funcionan muy bien pero necesito su ayuda para modificarlos de tal manera que: en el macro para subir las fotos en lugar de incluir dentro del macro la ruta y el nombre de la fotografia a subir y tener que hacerlo uno por uno, lo pueda tomar de una hoja denominada FOTOS a partir de la fila A2 desde donde se encuentra el ID y la ruta y el nombre del archivo desde donde pueda ubicar dichas fotos y por medio de un bucle pueda recorrer todas las filas llenas y poder cargar todas las fotografias. Por otro lado el …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 833 visitas
  19. Started by juancaraujoc,

    Buenas tardes amigos Nesecito su valiosa colaboracion para poder resumir un conjunto de datos de un listado en otro listado , esto lo necesito hacer sin la ayuda de una tabla dinamica la cual no me es funcional en el proyecto que estoy haciendo. les dejo el adjunto con el ejemplo que quiero hacer agradeciendo de antemano Saludos cordiales Ejercicio.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 855 visitas
  20. Started by highlander38,

    Hola de nuevo. Llevo varios dias trabajando con una macro de lo que veo por ahi y he conseguido que me cree el archivo tal como quiero, pero me da un error: No se puede encontrar el archivo. Compruebe que su ruta de acceso y nombre sean correctos. Sub GeneraInformePDF()'Da nombre al archivoWorksheets("Hoja Nueva").SelectDim Nombrearchivo As StringNombrearchivo = Range("bm2")' Macro que guarda las hojas en PDFSheets("Hoja Nueva").ActivateActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"C:\Documents and Settings\LAMOGA\Escritorio\" & Nombrearchivo & ".pdf" _, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _:=False, OpenAfte…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2k visitas
  21. Hola buen día!! El problema que tengo es el siguiente: Tengo activa una hoja de excel y cargo un formulario, estoy trabajando con el y necesito consultar información de la hoja de cálculo y en ocasiones colocar un importe en la misma para posteriormente seguir trabajando con el formulario. ¿Es posible, que pueda hacer esto sin que descargue el formulario y lo tenga siempre a la vista? Agradeceré las respuestas y saludos!!!

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 772 visitas
  22. Started by juancar373,

    Hola a todos, Soy bastante nuevo en la programación de Macros en VBA para Excel y especialmente en el uso de Formularios. Se me ha planteado una duda que por más que busco no acierto a encontrar. Estoy creando un programa en el que se llame a un formulario para usarlo como InputBox. El problema es que no acierto a saber cómo enlazar los datos entre el formulario y la macro. El formulario cuenta con un TextBox y un botón de aceptar. En las propiedades del TextBox he dejado el campo "Value" vacio para que el usuario lo rellene. El programa que he escrito es, simplificadamente, lo siguiente: Private Sub CommandButton1_Click() NumUserForm.Show Num = NumUserForm.NumTex…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  23. Hola amigos, soy nuevo aca, y es la primera vez que uso excel y VB para programar una macro. La cuestión es que hice una macro para impresión de cheques: Un formulario que permite ingresar solo el monto, luego lo traduce automáticamente a letras, y la fecha de pago. Los demás datos son constantes, como por ej la fecha de emision (toma la fecha del sistema al momento de imprimir)... Los cheques vienen en hojas de papel continuo para enganchar en impresoras matriz de punto. Son como el papel continuo normal, pero mas angostas. Mi problema es el siguiente: Una vez que termino de cargar todos los cheques, mando a imprimir. En la hoja n°1 imprime perfecto ,la segunda hoja y…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  24. Buenos días, He creado una ficha en la que resumo los datos anuales de la actividad que tiene un cliente. Éstos datos los importo de la primera hoja del libro. Pero ésta primera hoja siempre tiene un numero diferente de filas, (los datos de ésta hoja 1 los pego desde otro libro en excel que recibo de otra fuente distinta). Necesito una macro o una formula que me permita crear una fila en mi ficha (hoja 2) después de la última fila activa de la hoja 1 y luego en ésta ultima fila creada pondré tres formulas distintas. Una para que me cuente el número de filas que tiene el archivo y otras dos para que me calculen el promedio de los datos que hay en dos determinadas columna…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.2k visitas
  25. Started by icemoonlove,

    Hola, quiero pedir de su ayuda una vez más con el siguiente código, lo que sucede es que me marca error 91 en la 4ta linea "buscar.Activate", no tengo idea de como solucionarlo Private Sub BAgregar_Click() Dim buscar As Range Set buscar = Cells.Find(What:=TbPaciente) buscar.Activate b = ActiveCell.Row TbIMC.Text = Sheets("Pacientes_Cb").Range("Y" & .Text TbGrasaK.Text = Sheets("Pacientes_Cb").Range("AC" & .Text TbGrasaP.Text = Sheets("Pacientes_Cb").Range("AD" & .Text TbMusculoK.Text = Sheets("Pacientes_Cb").Range("AE" & .Text TbMusculoP.Text = Sheets("Pacientes_Cb").Range("AF" & .Text End Sub [/PHP] De antemano gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.6k 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.