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

    Tengo un userform para insertar/modificar/borrar datos en una tabla. El problema surge cuando intento editar o modificar parte de los datos, pero no me realiza ninguna accion o me da error. Sub EditCrew() Dim UltFila As Long, rango As String, FilaRegistro As Long, ans As Integer Sheet5.Visible = True Sheet5.Unprotect ("xxxx") UltFila = Range("A" & Rows.Count).End(xlUp).Row rango = "A2:A" & UltFila If Len(frmCrew.TxtPassport) = 0 Then MsgBox "Write True Passport", vbExclamation, "BALEARIA" Exit Sub End If FilaRegistro = filaexisteregistro(frmCrew.TxtPassport, rango) I…

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.1k visitas
    • 3 seguidores
  2. Started by PeterBridges,

    Hola a todos Tengo un problema con hipervínculos. Tengo 2 archivos excel en una carpeta llamada "Matriz de calidad" Archivo1: "Matriz de Calidad".Tiene distintas pestañas. En las celdas de la columna A de cada pestaña tiene hipervínculos apuntando al archivo "Matrix pictures". Las celdas con hipervínculos están desde la A3 en adelante, pero algunas celdas están vacías. -Archivo2: "Matrix pictures". También tiene distintas pestañas. En las celdas de la columna A de cada pestaña hay fotos (que son a las que apunta el "Matriz de calidad"). Las celdas con fotos están desde la A1 en adelante He estado trabajando en OneDrive con estos 2 archivos con hipervín…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  3. Started by albersil,

    Buenas, me estoy devanando los sesos para conseguir lo que quiero hacer, pero mis entendederas no dan para tanto, así es que solicito humíldemente vuestra ayuda. La cuestión es que quiero quitar las flechas de los enlaces directos de windows, pero no tengo acceso al regedit, así es que la única solución que se me antoja es hacerlo desde VBA con EXCEL, ya que un fichero EXCEL con VBA que tengo con otro código sí ha conseguido modificar el registro, pero en otra rama. Bueno al grano, se que las flechas se eleminan cambiando la entrada IsShortcut por xsShortcut , en las ramas HKEY_CLASSES_ROOT\lnkfile y HKEY_CLASSES_ROOT\piffile, pero no se hacerlo con VBA. Mediante un fich…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.8k visitas
  4. Hola, tengo el problema de que estoy creando un formulario para manejar todo lo relacionado con ventas de un negocio, pero al momento de ingresar dinero de una venta no siempre se ingresa el total y quedan debiendo, por lo que su estado es como deudor, al pagar, hay que cambiarle el estado a al dia,estos datos estan en una base de datos, pero quiero modificarlos desde el formulario que alli tengo, cualquier ayuda gracias, y otro aspecto es que necesito saber cuanto debo producir al dia, por lo que intento con formulas de sumar si poner el criterio que solo me sume las cantidades ingresadas en esa fecha, pero al ingresar la fecha por formulario la formula de sumar si no r…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 776 visitas
  5. Saludos tengo una tabla dinamica sencilla pero deseo poder modificar el "filtro de informe" desde una macro con un criterio, los años, por ejemplo que solo muestre los datos entre 2009 y 2013 pero esto desde una macro para luego insertarle esa pregunta con un inputbox y hacerlo interactivo. algo asi Sub filtro_interactivo() año2 = InputBox("Ingrese el año hasta donde quiere ver datos: ", "AÑO FINAL") ' el campo3 es la variable que va en el filtro y son años desde 2009 hasta 2019 If ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("campo3").items < año2 Then ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("campo3").Items.visible=true End If End Su…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  6. Started by pildo,

    Hola a todos me gustaría automatizar una función con un formulario, de tal manera que cuando le meta un variable, me la introduzca en una fórmula y la pegue en una celda en particular. La variable será una fecha, para que haga la siguiente fórmula: =SUMAR.SI.CONJUNTO(DIARIO[HORAS VUELO];DIARIO[FECHA];"<="&FECHA(AÑO($A$2);MES($A$2);DIA($A$2));DIARIO[AVION];73) en negritas y subrayado he puesto lo que la variable modificará. Esta variable la meteré en un textbox de un formulario. La fecha que meta en este textbox será la que busque la fórmula que acabo de poner... Para cada avión le pondré una fórmula similar, pero c…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2k visitas
  7. Hola, Me gustaría saber si es posible que con una formula escriba en diferentes celdas, es decir, en mi caso encontré una fórmula que me concatenaba resultados respecto a un rango (que también me valía), pero ahora querría modificarla para que me "extrajera" los resultados a partir de la celda donde pongo la formula. Pego aquí el código. Function MULTCONCAT(lista As Range) Dim ncell As Range Dim m_concat As String m_concat = "" i = 1 For Each ncell In lista If ncell <> "" Then If i = 1 Then m_concat = m_concat & ncell.Value i = i + 1 Else m_concat = m_concat & " or " & ncell.Value End If End If Next ncell m_concat = …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  8. Started by Alchemy,

    Hola amigos de este gran foro, les doy un gran saludo, aqui con un tema que espero me puedan colaborar ya que lo requiero para mi trabajo, me gustaria saber como se hace para modificar un formulario de ingreso de datos agregando controles al mismo para tener otras opciones, bien para mayor detalle subo mi Excel, y en la primera hoja esta el contenido de lo que deseo hacer, de manera adelantada gracias... Registro_Clientes.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 684 visitas
  9. Hola. Ya llevo bastante tiempo trabajando (con mucha ayuda de ustedes) en un Excel (test) con un form. La idea es utilizarlo en mi trabajo para gestionar documentos, después de algún tiempo ya lo llevo bastante avanzado pero ahora tengo un gran problema. La idea es que la información que contiene el Excel debe ser modificada por varias personas al mismo tiempo (de 4 a 5), sé que Excel tiene una opción que ya he utilizado “compartir libro” pero aparentemente esta opción no funciona en libros con macros, ya que las bloquea y el archivo queda “inútil”. La idea que se me ocurrió es tener un archivo con únicamente información (base de datos), compartido y desde otro archiv…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.2k visitas
  10. Started by rotenman1,

    Hola que tal amigos expertos en excel, el día de hoy vengo con una inquietud que me ha estado quitando el sueño, quisiera si es posible, me ayudasen a resolver este problemita. La situación es esta: tengo un form con un combo y 2 textboxs, los textboxs dependen de lo que haya en el combo, cambiando al momento de que este cambie también. Al principio mi problema era que el combo no me arrojaba los datos correctos a los textboxs si existía un código repetido en el combo, pero esto quedo resuelto gracias a investigación en internet. Pero existe algo que no he podido encontrar por ningún lado. Lo que necesito es que el form sea capaz de modificar la información en la hoja …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 698 visitas
  11. Buen dia, tengo excel 2010, he diseñado una pequeña base de datos que ejecuto a traves de un formulario en la hoja 1, (cedula, nombre, cargo, salario, fecha de ingreso, fecha de retiro,...) me envia la informacion a la hoja 2 a una base de datos, lo que me gustaria saber es como puedo hacer si, requiero cambiarle la informacion a alguna persona(cargo, salario, fecha de retiro) al ingresar la inormacion no me ingrese los datos del empleado como nuevo, pues ya existe creado en dicha base de datos, sino que me permite modificarle informacion,, agardezco tu ayuda.. Adjunto el archivo David base de datos.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  12. Started by DarkKaiser,

    Buenas Tardes, Tengo un Modificador de Dato mediante un LixtBox, pero eh tratado de agregar primero un buscador de datos que refleje lo buscado en el lixbot para asi poder modificar rapido lo que necesito, en la celda B espero su apoyo gracias! Modificar datos mediante ListBox.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 727 visitas
  13. Started by manzano,

    Buenos días, Les comento que hace unos meses un usuario me realizo una macro, la cual hasta ahora me ha funcionado de maravilla. El problema que presento ahora es el siguiente, descubrí que si no hay datos en la Columna M la macro no realiza el proceso. Hoy utilizare esta misma planilla, pero en la columna M no existirán datos. Alguien puede revisar la formula y ver la forma de modificar eso, las otras columnas seguirán intactas, solo la M es la que ya no tendrá datos. Concatenar valores Vba_GP.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1k visitas
    • 1 seguidor
  14. Started by eneada,

    Hola a tod@s, Tengo esta macro que funciona perfectamente, que renombra las hojas según el listado de nombres de la hoja "AA_Nombres": Sub renombra_hoja() Dim Hoja As Worksheet Dim Fila As Long Fila = 5 For Each Hoja In Worksheets Hoja.Name = Cells(Fila, 3) Fila = Fila + 1 Next End Sub ¿Se podría modificar la macro para que en vez de renombrar la hoja, pegue el nombre en la celda A2 (por ejemplo)?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 788 visitas
  15. Started by alvaro_arr,

    Buenas tardes Tengo un fichero con una macro para comparar dos ficheros diferentes. Lo que hace la macro es buscar en horizontal BBDD 1 y compararla con BBDD 2 que busca en vertical. Entonces lo que coincide lo elimina y lo que no encuentra te dice donde no lo encuentra si en BBDD 1 o en BBDD 2. Con el fin de que ambos ficheros esten identicos y no tenga fallos. El problema que tengo es que tengo que ampliar las columnas de 4 comparador BBDD SOX_v2.xlsm a 10 comparador BBDD SOX_v3.xlsm la BBDD 1 y no soy capaz de modificar el código de la macro voy modificando las columnas y siempre falla algo. No se si podríai…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 928 visitas
  16. Started by pablgonz,

    Hola a todos en el foro, hace bastante tiempo me dieron esta macro aquí en el foro, la cual funciona bastante bien dentro de la plantilla que utilizo, pero, me gustaría hacer una pequeña modificación a la forma en la cual trabaja. La macro copia filas completas a nuevas hojas, basado en un criterio de búsqueda (Forma 1 o Forma 2) , el pequeño problema, es que si presiono el botón más de una vez, se copian los datos dos veces en la nueva hoja (quedan repetidos), lo cual es un problema para luego analizarlos. estoy usando excel 2007, en windows xp, adjunto un archivo comprimido con el fichero de muestra, la macro es la siguiente: Sub CopyForm1() Application.ScreenUpda…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  17. Hola a todos!!! Gracias por vuestra ayuda, que siempre me saca del apuro...:encouragement: Adjunto un libro: CLIENTES, que contiene 13 hojas, la 1ª hoja se llama FICHA CLIENTE y las 12 restantes van de ENERO A DIC. Las Hojas que corresponden a los meses del año, tienen listados de las facturas del mes correspondiente. Desde FICHA CLIENTE, introduciento código de cliente en la celda B6 recupero en forma de listado las facturas correspondientes a ese cliente de todos los meses del año (rango A18:L ). Ahora necesito ampliar la busqueda y producir dos listados nuevos, además de que todos los listado tienen que traer la información con hipervinculo para poder modificar da…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.1k visitas
  18. Hola de nuevo a todos, La semana pasada me ayudastéis a crear una macro para traspasar los datos de un Albarán a un listado. Ahora necesito cambiar parte de la macro para cambiar un poco la presentación final de la factura. En resumen, en el archivo adjunto, veréis que el libro consta de 3 hojas. La primera llamada Albarán, ejecuta a través de botón (PASAR ALBARÁN), el copiado de los datos a la hoja 2 llamada Albaranes, y la Hoja 3 llamada Factura, al introducir código de cliente, busca y copia todos los datos del listado Albaranes. Necesito modificar macro de la Hoja 1 (albarán), para que al traspasar los datos el resultado sea el siguiente (en archivo adjunto se inc…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k visitas
  19. Buenas tardes foro, mi consulta es la siguiente:tengo un archivo con tres pestañas y la macro funciona bien con pocos registros, el detalle es que en una de las hojas con la que se alimenta el reporte, tiene mas de 5000 registros y no funciona únicamente jala la información de dos columnas del reporte, si elimino registros y dejo pocos, funciona perfectamente. Me gustaría saber si tengo algo mal en la macro o estoy limitando el rango, se que para mejor ayuda debo subir un archivo, pero voy a intentar subir el archivo nuevamente, porque ya le elimine registros y hojas solo deje unos registros como prueba pero aun así no me permite subirlo, dejo la macro e intentare…

    • 0

      Reacciones de usuarios

    • 19 respuestas
    • 2.8k visitas
  20. Buen día foro, adjunto un archivo el cual se compone de dos hojas (Hoja1 tabla de datos) y (Hoja3) formato de consulta/reporte) en el cual entre otras la Columna A tiene un numero el cual se ordena consecutivamente, la columna E un numero de Parte y columna G numero de Certificado, lo que estoy batallando es para que tomando como referencia la columna A me aparezcan solo datos únicos y elimine los duplicados, ya que la referencia de la columna G (numero de certificado) si se agrupa en una celda, el link que se genera automáticamente en la columna J ya no me abre puesto que me toma la referencia del certificado todo agrupado y lo nombra con todas las referencias agrupadas.…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.1k visitas
  21. Hola a todos y gracias por vuestra ayuda. Utilizo excel 2007, en mi sistema de facturación tengo una macro que al pulsar un botón me guarda en pdf, imprime, crea siguiente numero de albarán y manda la información a la Hoja2 "VENTAS" en forma de listado, hasta ahí, todo estupendo, pero ahora quiero modificar la macro para que haga un vinculo o hipervínculo desde la celda donde esta ubicado el nº de albarán al archivo pdf creado, que está en otra carpeta, lo he intentado de varias maneras y nada, me da varios errores y lo tengo que hacer manualmente uno por uno cada albarán, no sé si podrá ayudarme, pero se lo agradezco de antemano. Adjunto archivo, donde se puede ver en …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 975 visitas
  22. buenas a todos, tengo una macro que me funciona excelente gracias a la ayuda de macroantonio si mal no recuerdo, ahora necesitaria modificar la misma para que en vez de borrar me pinte lo que coincide en la busqueda, intente pero realmente no me sale, yo necesitaria que en vez de borrar en dos columnas pinte solo la tercera. copio la macro para ver si me pueden dar una mano, gracias. Sub FRANCOSIGUIENTE() Dim colDia As Integer, LR As Long Dim C As Range, D As Range, Rng As Range Application.ScreenUpdating = False With Hoja1 .[ba1].CurrentRegion.Delete xlShiftUp LR = .[a65536].End(xlUp).Row colDia = WorksheetFunction.Match(CInt(HOJA2.[k7]), .[a1:ag1], 0) .[ba…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  23. Started by delvalle,

    Buenas, Pulsando en el botón BUSQUEDA se ejecuta una macro para buscar la palabra que introduzcamos en la hoja2. La macro lo que hace es que cada vez que encuentra un resultado selecciona la celda donde esta se encuentra en la hoja2. Y es esto lo que quiero cambiar, ya que no quiero que cuando encuentre un resultado vaya saltando de celda en celda si no que me los muestre en la hoja1. Este es el código que tengo: Sub Rectánguloredondeado_AlHacerClic() Dim FirstCell As Range Dim NextCell As Range Dim WhatToFind As Variant WhatToFind = Application.InputBox("Palabra(s) clave:", "Búsqueda", , 800, 500, , , 2) Hoja2.Activate If WhatToFind <> …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
  24. Started by Dani2020,

    Tengo este archivo con un calentaría el cual uso para control de trimestre cuando pongo en la celda G2 Trimestre i aparece solo los meses Ene, Feb, Mar; Trimestre II aparece solo Abril, May, Jun; Trimestre III aparece solo Jul, Agos, Set; Trimestre IV aparece solo Oct, Nov, Dic, lo que ocupo no me aparezcan en trimestre si no solo un mes ejemplo, se pongo el la celda G2 enero aparezca todo enero adjunto archivo ROL DE TRABAJO DEL PERSONAL POR JORNADA.xlsm

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 2.6k visitas
  25. Started by ARPMETAL,

    que tal resulta que tengo una macro que lo que hace es poner una letra en la celda segun el color de la celda pero el problema es que tarda mucho en ejecutarse ya que son muchas celdas, solo para pedir si alguien me puede decir como hacer que se ejecute mas rapido aqui dejo el programa, saludos. Sub prueba() Application.ScreenUpdating = False Dim celda As Range Range("h:h").Select For Each celda In Selection If celda.Interior.Color = RGB(255, 255, 255) Then celda = "V" End If Next Application.ScreenUpdating = True For Each celda In Selection If celda.Interior.Color = 255 Then celda = "R" End If Next Application.ScreenUpdating = True For Each celda In Sele…

    • 0

      Reacciones de usuarios

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