Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

    Estimados, estoy desarrollando un programa en el que tengo 2 hojas: BASE DE DATOS y REGISTRO. Lo que realiza el programa es: tener una base de datos a tiempo real sobre el trabajo del dia(BASE DE DATOS), y tener un registro del trabajo diario (registro) El código realiza lo siguiente: copia el rango( ej "a1:l:350") de la hoja "BASE DE DATOS" , busca el primer espacio vacío (bucle), y luego pega en la hoja "REGISTRO". Range("a1:l350").Copy Sheets("REGISTRO").Range("A1"), utilizando esto solo me sirve para el primer día pues en el segundo día la información se pegará encima del día anterior. Lo que me gustaría es eliminar ese bucle. Y mantener la hoja registro oculta. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 983 visitas
  2. Buenas tardes, el tema es así, en un mismo libro tengo muchas hojas, en una de las cuales tengo una tabla con datos que se está "expandiendo" en filas, diariamente, para evitar que la tabla se ponga "pesada" quisiera mensualmente yo activar una macro que corte el contenido de esta tabla y la pegue en la parte superior de otra tabla igual, que está en otra hoja, así usar de almacenamiento esta segunda tabla. No se como armar una macro, con el grabador armé algunos que dan vergüenza y no funcionaban juntas Subo un ejemplo, el orden es cortar todos los datos de la tabla (BDVentas) y pegarlos en la parte superior de la tabla (Tabla9) osea a partir de la celda A3 …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 983 visitas
  3. Hola buenas tardes! Agradezco de antemano su ayuday mi duda es la siguiente: Tengo una base de datos la cual se alimenta mediante una lista desplegable y esa base quiero alimentar otra mas solo con algunos campos el punto es que tengo la siguiente macro para pegar datos: Sub pegadatos() Application.ScreenUpdating = False Worksheets("Hoja2").Range("B7:B100000").Copy Destination:=Worksheets("BASE GENERAL").Range("B5") Worksheets("Hoja2").Range("C2:C100000").Copy Destination:=Worksheets("BASE GENERAL").Range("C5") Worksheets("Hoja2").Range("D2:D100000").Copy Destination:=…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 983 visitas
    • 3 seguidores
  4. Started by gustav2704,

    saludos. estoy ttrabajanndo en un treeview de un ejemplo que vi en internet pero me arroja un error Private Sub TreeView1_KeyDown(KeyCode As Integer, ByVal Shift As Integer) With TreeView1.SelectedItem 'aqui una de las ventajas de tener bien definido el Tag. si este es 'distinto a marca , entonces es una caracteristica: If .Tag <> "marca" Then 'si la tecla presionada es la de borrar: If KeyCode = vbKeyDelete Then 'borro el dato en excel Range(.Tag).ClearContents ' 'y quito el nodo TreeView1.Nodes.Remove (.Index) ElseIf KeyCode = vbKeyReturn Then 'si presio…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 982 visitas
  5. Hola, tendo dos dudas, la primera es como puedo hacer para que cuando le doy al boton guardar me deje el textbox1 y textbox2 con los datos que tengan puestos y que me borre combobox1, combobox2 y textbox3 centrando el foco en combobox1, ahora mismo lo tengo como esta porque no consigo mi proposito. Y la segunda duda es como puedo pasar los datos del formulario a la Hoja2 en las posicones que pongo como ejemplo en dicha hoja y de forma ilimitada y quiero decir de forma ilimitada que no se limite a las ocho posiciones que tengo en el ejemplo. Libro1.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 982 visitas
  6. Hola, enhorabuena por la web y por compartir conocimientos. Tengo una hoja sencilla con dos columnas en la primera tengo una palabra rusa y en la segunda su significado, es para retener vocabulario. Lanzo el formulario en el que aparece aleatoriamente el primer término y cuando pulso el botón azul , veo el resultado en la segunda caja de texto debajo de la pregunta. Ahora pulso el botón verde si he acertado o rojo si he fallado. El primer problema que tengo es que da error una ficha antes de que termine con todas. El segundo es que no se como pasar el dato fallado, pregunta y respuesta a la hoja que me creo cuando fallo la primera que he llamado "arepetir". Mi inten…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 982 visitas
  7. Started by Victor Villalobos,

    Buenos Días Necesito ayuda con una macro que utiliza un Userform y necesito crear un combox dependiente de otro. Es decir que si en uno selecciono Mercadeo en el otro me indiquen las opciones de Mercadeo Gracias No me deja subir el archivo con la extensiòn .xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 982 visitas
  8. Started by sergioh,

    Buenas, nuevamente requiero de la ayuda de ustedes. Les comento lo que necesito. tengo una carpeta en la que se van agregando ficheros en formato .CSV con nombres aleatorios, en dichos ficheros se mantiene el numero de columnas A:R, la primera fila contiene los nombres de los campos, pero pueden tener diferente numero de filas con datos, lo que desearia es que con una macro se capturase los datos desde la fila 2 hasta la ultima con datos y los agregue a una hoja de excel anexando cada fichero y que los que ya se hayan capturado no se repitan. He probado varias macros que he encontrado pero no hacen lo que quiero. les dejo los ficheros de datos y resultado. datos csv.ra…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 982 visitas
  9. Started by Tato_911,

    Hola soy nuevo pero espero que solucionen mi duda. tengo que hacer un formulario donde tengo un combobox con nombre de hoteles lo que yo necesito es que cuando selecciono un hotel este tenga un costo (osea que cada hotel del combobox tenga una valor numérico) que aparezca en un textbox.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 982 visitas
  10. Buenos días a tod@s; Esta línea la he usado anteriormente y creo que funcionaba pero hoy al ponerla en una nueva macro me da el siguiente error “Error 52 en tiempo de ejecución, nombre o número de archivo incorrecto “. Por qué puede ser??. Que debo de usar si la ruta de un servidor a caído??. Gracias y un saludo, Ejemplo 1.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 981 visitas
  11. Started by yolok1,

    Hola, Estoy dándole vueltas a un Excel que quiero crear. No consigo crear las dos cosas. Mi idea es: en una columna escribir todos los datos que en este caso son clientes. Después que automáticamente con la macro me cree por cada cliente una nueva hoja y con un hipervínculo a esa hoja. Por lo que al finalizar la macro deberá quedar el listado inicial con hipervínculos a su correspondiente hoja. La hoja se llamará igual que el nombre del cliente. Y además de esto que cada hoja de cliente nueva que se cree que sea en base a una plantilla. Yo consigo copiar la base o hacer un índice medianamente bien pero ambas cosas no consigo hacer. Si alguno puede echarle…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 981 visitas
  12. Hola amig@s. Esta macro Sub GuardaSinMacros() Application.ScreenUpdating = False Application.DisplayAlerts = False Set l1 = ThisWorkbook Ruta = "D:\Datos Mecanicos\" nombre = Range("G4") & "_" & Range("C13") & "-" & Range("H13").Value & ".xlsx" 'Cria archivo llamado Copia.xlsm en la misma ruta para que sirva de base a la creacion del .xlsx en variable nombre l1.SaveCopyAs Ruta & "copia.xlsm" Set l2 = Workbooks.Open(Ruta & "copia.xlsm") l2.SaveAs Ruta & nombre, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'cria archivo requerido l2.Close Kill Ruta & "copia.xlsm" 'elimina el arc…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 981 visitas
  13. Started by djtravieso,

    Buena tarde pue por aca soliciando su ayuda para poder ejercer el siguiente informe impreso es parecido a este tema lo unico es que necesito que sea con auto filtro les dejo el archivo por si alguien se apiada de mi jajajaj saludo desde guatemala https://www.ayudaexcel.com/foro/macros-programacion-vba-10/solucionado-macro-para-generar-reporte-11491/ - - - - - Mensaje combinado - - - - - PERDON SI ALGUIEN ME HECHA LA MANITO ME DICE ASI ME DA EL MAIL Y LO ENVIO YA QUE ES MUY GRANDE EL ARCHIVO PARA SUBIRLO POR ACA MIL GRACIASIAS POR SU AYUDA

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 981 visitas
  14. Started by jabrajam,

    Buenos tardes a todos, Una vez mas recurro a vuestro conocimiento e imaginacion. Os explico tengo una tabla de datos que consiste en la descripcion de un producto y las siguientes filas de datos de ese producto, bien pues lo que necesito es insertar una fila antes y despues en blanco de cada descripcion de producto. Bien como mas vale una imagen que mil palabras os subo un ejemplo. La hoja original es qcomo lo tengo y la hoja bueno es como me gustaria que quedara, haciendolo de algun modo que no sea como lo he hecho yo una a una con insertar fila. Gracias por la ayuda por adelantado. insertar filas.rar

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 981 visitas
  15. Started by Kane51,

    Buenas días Primero me gustaría agradecer a la gente de este foro por toda la ayuda que proporcionan a la gente como yo que no se manejan muy bien con Excel pero que tienen ganas de mejorar. Aquí está mi problema y no sé como corregirlo: Me sale este mensaje: Se ha producido el error '1004' en tiempo de ejecucción No se puede asignar la propiedad Name de la calseFont Y cuando depura sale lo siguiente: Range("J301:P301").Select Selection.Copy Sheets("Mis recetas").Select Range("H2:N2").Select Range("H2").Activate Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop ActiveSheet.Paste Selection.PasteSpecia…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 981 visitas
  16. Started by Ricardo120193,

    Buenas tardes a todos, estoy iniciando en esto de las macros y tengo una duda que ojala me puedan ayudar a resolver. Bueno pues tengo un archivo que contiene datos y con un botón se eliminan las filas vacías, me gustaría poder hacer que con ese mismo botón se muestre un ComboBox que tenga como opciones los formatos de reporte que se me crean con el segundo botón. Así mismo al elegir alguno de esos dos con el ComboBox poder hacer que el segundo botón solo me genere el reporte especificado en ese ComboBox. Bueno espero haberme explicado bien para que me puedan brindar ayuda los expertos de este foro. Desde ya les agradezco por su ayuda a todos, saludos. Aquí les anexo …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 981 visitas
  17. Tengo una tabla dinamica que contiene dos columnas A=Ciudad B=Cantidades. Quiero que al dar doble click a cualquiera de estas celdas (B4:B30) de despliegue normalmente el showdetail de la tabla, pero que a partir de ahi se ejecute el siguiente macro. que no es nada mas que quitar columnas innecesarias. espero me puedan ayudar ub Macro5() ' ' Macro5 Macro ' ' ActiveCell.Offset(0, 50).Columns("A:F").EntireColumn.Select Selection.Delete Shift:=xlToLeft ActiveCell.Offset(0, -16).Columns("A:O").EntireColumn.Select Selection.Delete Shift:=xlToLeft ActiveCell.Offset(0, -6).Columns("A:E").EntireColumn.Select Selection.Delete Shi…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 981 visitas
  18. Saludos Quisiera ver si puede ayudar en ajustar unas macros, les explico, tengo una macro que crea en excel certicados en pdf, luego registra en una hoja aparte dentro de libro los datos: 1 Nombre del participantes, 2 nombre y ubicacion del archivo en el HD (Macro1) , asi posteriormente lo envio por correo (con otra macro), desde el mismo excel, hasta aca todo bien. Mi problema es que lo hago 1 por 1, aca esta una macro que probe muy buena de creacion de pdf por lotes (macro2), lo que busco, si es posible, incluir que cada archivo que cree registre su informacion en una hoja y continue el ciclo, y como se ve en la pirmera macro, seleccionar el rango a guardar. …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 980 visitas
  19. Started by jpvivar66,

    Buenos dias A ver si me podeis ayudar por favor Tengo una columna con 10.000 celdas, quiero dsitribuirlo en columnas de 500 celdas sin tener que copiar y pegar, que lo pueda hacer automaticamente el excel con una macro. Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 980 visitas
  20. Started by onofar,

    hola buenos días, la verdad es que soy nuevo en el foro pero lo que e checa do me a servido demasiado estoy realizando un tipo de base de datos para mi trabajo para llevar el control de las notas de remisión quisiera que cuando se grave la venta ,se grave si esta pagada o no y sino esta pagada meter abonos asta que se salde por dia de ante mano grsias y espero pronta respuesta

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 980 visitas
  21. Started by Fortel,

    Hola que tal expertos...! Quería saber si el vba Excel puede automatizar un Formulario que esta en una web con extensión Html, he tratado de buscar los Códigos fuentes pero ninguno me lleva a las propiedades. En la imagen se muestra la cabecera con desplegables, en el medio esta el Logo de telefónica y mas abajo el Botón Salir, el problema es como indicarle a la Macro que me lleve a algunas de esas opciones...! html.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 980 visitas
  22. Started by andres_rf,

    Hola, buenas tardes. Soy un estudiante de Física, un novato en el tema del excel y las macros (no he hecho ninguna), y necesito que me echéis una mano o, a ser posible, que me intentéis hacer una macro para un algoritmo que aparece subido: Es sobre mi trabajo final de carrera. La primera columna sería la de CFI, la segunda la de Stdev LDR; la tercera ,1+az; la cuarta 1+bz; la quinta, 1+cz; y la última, la de PCA, octas, que es lo que quiero obtener. Estoy intentando hacerlo con condiciones SI e Y anidadas, pero no me lo permite por la longitud del comando. ¡Muchas gracias de antemano!

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 980 visitas
  23. Started by racION,

    Buenas noches, Ante todo, disculpad he intentado localizar un ejemplo de la duda que tengo y hay varios parecidos pero no consigo tener el resultado que quiero. Querría saber si se puede realizar una macro (que creo que es más cómoda aunque más tediosa hacer) para conseguir esto: - En la columna E de la hoja querría que hubiesen dos valores (Hombre o Mujer). Cuando se rellenase esa celda con la palabra "Hombre", querría que las columnas de esa fila F, G, H, I se pusiera el valor "NA", también en las celdas de las columnas K, L y en N, O, P. Así para todas las filas que vaya completando hacia abajo. En caso de que apareciese Mujer, querría intentar que se qu…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 980 visitas
  24. Hola amigos!! Regreso algo oxidado con una consulta. La idea del presente archivo es capturar los seriales de unos equipos siempre y cuando cumplan alguno de los patrones que están en la tabla. Al pasar este filtro e ingresar el serial en la columna B (columna detonante para que se ejecuten las macros) se adicionará a los lados del serial, el número que indica la cantidad ingresados hasta el momento y en la otra celda adyacente el serial en formato de código de barras. De igual forma si se borra un serial en la columna B, o se modifica el serial, este deberá hacer lo propio según el caso,sea borrar los adyacentes o actualizar el código d…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 980 visitas
    • 2 seguidores
  25. Started by aguilaone,

    Alguien me podría apoyar con el código para que en un textbox de un userform no se repitan caracteres repetidos. Ejemplo si al empezar a escirbrir la primer letra es una L al escribir la segunda ya no me permita usar dicha letra, y al escribir la tercera me impida usar las dos anteriores Cabe mencionar que solo serán máximo 3 caracteres los que se usaran en el textbox. De antemano gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 980 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 sergio@ayudaexcel.com

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.