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

    Después de haber recorrido varios (MUCHOS) temas, encontré para limpiar y dar propiedades a varios controles unificados en una sola rutina pero, no he encontrado nada que me pidiera guiar sobre lo que sigue, aunque trate de hacer algo partiendo de rutinas para limpiar varios controles, (OptionButton, TextBox, ComboBox, CheckBox) controles dentro de un form o directamente en una hoja. En mi caso presente están en una hoja (Hoja1) y NO en un formulario LO que no logre es para unificar los 6 TextBox, una sola rutina Van desde el TextBox6 hasta el 8 y luego del 12 al 14 Private Sub TextBox6_GotFocus() Application.ScreenUpdating = False Label1.Caption = "FORMATO DE …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  2. Started by Enock_25,

    Que tal, Hago este tema porque tengo una duda que me gustaría y me ayudarán a resolver. Me gustaría saber si desde un boton de un formulario en Visual Basic 6.0, es posible abrir una macro en VBA creada en Excel 2010. Si es posible, me gustaría saber cuál es el código que necesito. Muchas gracias por su atención.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 788 visitas
  3. Estimados, recurro nuevamente e ustedes por el siguiente problema. En el documento adjunto, poseo una macros el cual deseo que al momento de ingresar un valor en el textbox con una pistola lectora de códigos de barra, se ejecute el botón ingresar. hasta ahí ningún problema, pero he estado intentando mediante el comando textbox1.setfocus que vuelva a posicionarse en el textbox después de hacer el ingreso y no me funca. La idea es que se ejecute el ingreso, borre lo que esta en el textbox y se posicione en el nuevamente. Desde ya un saludo y las gracias. Prueba.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  4. Started by Aretradeser,

    Tengo un libro con tres hojas, en la hoja1, clumnas de la "A" a la "K", se encuentran los datos. Por medio de un Userform, que consta de dos DatePicker (1 y 2) , dos ComboBox (1 y 2) y un ListBox; un CommandButon ("Buscar"), quiero filtrar datos y que se listen en el ListBox. Hasta ahora he conseguido filtrar los datos entre dos fechas, utilizando los DatePicker. No consigo filtrar datos cuando elijo cualquiera de los items de los ComboBox y, menos aún, que se carguen el el ListBox. Este es el código que he desarrollado hasta el momento. Private Sub CommandButton1_Click() Application. ScreenUpdating = False Dim fecha1 As String Dim fecha2 As String …

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 5.7k visitas
  5. Started by femarver,

    Hola! Estoy intentando hacer una macro que copie una celda de una hoja a otra pero vinculada, para que si posteriormente modifico esa celda en la hoja 1, automáticamente se modifique en la hoja 2. Sería algo así, pero sólo consigo que copie el valor pero sin vincular. Sub Macro1() Dim ws1 As Worksheet Dim ws2 As Worksheet Set ws1 = ThisWorkbook.Sheets("Hoja1") Set ws2 = ThisWorkbook.Sheets("Hoja2") ws1.Cells(1, 1) = ws2.Cells("contents";A1) End Sub Muchas gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  6. Started by JoaoM,

    Feliz Navidad para toda la comunidad Despues que finalmente iba a llenar este libro con datos, se me presento un dilema (para mi). Cuando me proponia a Eliminar todo dato existente en la hoja2 ("Datos") para llenarla definitivamente, procedi a: Procedimiento: Marco el OptionBotton Eliminar, selecciono el 1º dato de la lista en el ComboBox, apreto el boton con el caption Eliminar y mi surpresa, me dice; Elija una opcion de la lista desplegable. Si selecciono el 2º de la lista Si funciona bien pero al selecconar el 1º NO. He dado vueltas al evento Private Sub Eliminar_Click() (creo ser por aqui) cambiando algunas cositas pero no he sido capaz de corrigir el fallo. Los…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  7. Started by makubex006,

    Hola amigos del foro, tengo una consulta que quiza sea basica para uds por eso pido el apoyo, tengo una base de datos de miles de registros que quiero juntarlos en una tabla. quiero saber si existe una macro para hacerlo porque he probado con la opcion combinar y centrar y es un proceso manual de 1 x 1, un ejemplo es este : [TABLE=width: 500] [TR] [TD]cod cliente[/TD] [TD]cod producto[/TD] [TD]cod vendedor[/TD] [TD]cod final[/TD] [/TR] [TR] [TD]0145[/TD] [TD]2020[/TD] [TD]1313[/TD] [TD]014520201313[/TD] [/TR] [TR] [TD]0146[/TD] [TD]2021[/TD] [TD]1313[/TD] [TD]014620211313[/TD] [/TR] [TR] [TD]0147[/TD] [TD]2022[/TD] [TD]1314[/TD] [TD]014720221314[/…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 838 visitas
  8. 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.2k visitas
  9. Started by jechu85,

    Hola, aquí estoy de nuevo, necesito de vuestra grandiosa ayuda. Resulta que tengo una hoja excel con varias imágenes insertadas y me gustaría poder ponerle un comentario a esas imágenes, buscando y buscando solo he visto como insertar una imagen a un comentario de una celda pero nada de un comentario a una imagen. ¿se puede hacer con una macro? Un saludo

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3k visitas
  10. Started by eedomfr,

    Hola: Tengo una serie de datos en una "Hoja2". El caso es que en "Hoja1" necesito crear una tabla con el doble de filas, de manera que fila n: una fórmula que se refiere a la una fila x de la hoja2 fila n+1: otra fórmula que se refiere también a la fila x de la hoja2 He conseguido hacer lo siguiente: - He creado una hoja1 con n filas, sólo con la fórmula1, arrastrando, y luego con esta macro Sub InsertRows1() Dim lIni As Long Dim lTot As Long Dim lRow As Long lTot = Selection.Rows.Count + Selection.Row lIni = Selection.Row + 1 For lRow = lTot To lIni Step -1 Rows(lRow).EntireRow.Insert Next lRow End Sub[/CODE] He conse…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.7k visitas
  11. Started by makubex006,

    Hola amigos del foro, soy nuevo en excel y tengo una consulta que espero me ayuden. Tengo una base de datos de miles de registros en forma vertical de números telefónicos, ejemplo: (+51) (01) 561-9190 (+51) (01) 366-1430 (+51) (01) 373-6587 lo que me gustaria es que me puedan ayudar con una macro donde elimine el (+51) (01) y el - donde al final el resultado sea 5619190 3661430 3736587 considerando que en el (+51)_(01)_561-9190 hay dos espacios donde le he colocado _, espero me ayuden es para mi trabajo, desde ya muchas gracias, feliz navidad.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 756 visitas
  12. Buenas tardes Tengo una macro que muy gentilmente me ayudaron a armar aki, esta sirve para ingresar informacion informacion en una hoja de excel y despues correr una macro que la traslada a sus lugares correspondientes en una base de datos que esta en otra hoja en el mismo archivo. pero somos varias personas que tenemos que usrla y tenemos que esperar que una lo use y de ahi que la use la otra persona y estarnos turnando, hay alguna forma de llenar la informacion y que la macro la mande al archivo de la base de datos sin abrirlo, ej: que las personas que tenemos que llenar la informacion cada quien tenga si archivo para llenar informacion y la macro la mande al archiv…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 816 visitas
  13. Started by el paco,

    Hola a todos. Necesito una pequeña ayuda con una hoja en la que hay que introducir datos en rango B11:B140. Mi problema es que si por ejemplo termino en la celda B60 al pulsar enter en la siguiente se desplazara a la celda H11. Lo he intentado con condiciones (If) y con activecell y o me da error de compilacion o no me da error pero no hace nada

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
  14. Started by Gerardo Arevalo,

    Buen dia a todos! Quisiera saber si me pudiera apoyar con esta macro ya que no logro adaptarla a lo que deceo y hacerla funcional. Tengo un libro en el cual tengo dos hojas en ambas tengo el mismo numero de columnas con el mismo tipo de informacion, yo lo que quiero lograr es que de la hoja2 compare la columna A hasta encontrar celda vacia contra la hoja1 columna A hasta encontrar celda vacia, si encuentra el dato entonces reemplazar toda esa fila de la hoja2 en la hoja1 en la posicion donde encontro el dato que coincide. HAsta ahora solo tengo esta parte. Sub repetidos() sheets("Hoja1").Select Range("a1").Select posicion = 1 While ActiveCell.Value <…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 821 visitas
  15. Started by verzulsan,

    Hola, Tengo una duda a la hora de evaluar una expresión booleana, siempre para saber si es verdadero o falso, directamente pongo (if Variable) a secas, sin =, pero sin querer le puse = True y no entraba en la condición, tras quitarle el true ya entraba. Sé que el valor verdadero de un boolean es -1, pero entonces, ¿por que cuando pones (if NumeroInteger) sin =, cuando NumeroInteger<>-1 & <>0, lo toma como -1? ¿Sabéis qué tipo de conversión ha realizado por sí sola la función IF? y en caso de "Si", ¿Podríais indicarme cual es esta función de conversión booleana? Sub PruebasBoolean() Dim VarInteger As Integer VarInteger = 100 If VarIntege…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.3k visitas
  16. Amigos, ya logre que se desactivara "Mover o copiar..." del menú contextual de las etiquetas, pero la opcion aparece todavia habilitada en la pestaña inicio grupo celdas. Ya vi foros en ingles y dan soluciones dificilicimas para mi como programar en xlm, con las justas puedo en macros vba. ayuda porfavor MACRO QUE DESHABILITA MOVER O COPIAR HOJA.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  17. Started by Gerardo Arevalo,

    Ahora les traigo una consulta nueva no se que tan sencilla o compleja sea pero la verdad no eh dado con la solucion,, existe la forma de que cuando ejecute mi macro antes de esta instruccion: Windows("Libro1.xlsx").Close savechanges:=True Tambien me guarde el libro en una posicion en especifico es decir, si yo abro mi libro y recorro con el scroll hasta la ultima columna donde tengo informacion y le doy guardar, despues cuando vuelva a abrir el archivo me lo abrira en la posicion donde me quede (al final de la ultima columna donde tengo informacion). Antes de cerrar tengo esta instruccion, la probe con las dos Range("B2").activate Range("B2").select Pero al momento …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  18. Started by AngelaMar,

    Hola, Tengo el siguiente código para copiar varias hojas y pegarlas a otro libro, el libro Peajes tiene 58 hojas y quiero copiar todas la hojas en el libro Peajes Nuevos, con el nombre de hoja igualito. Pero no se como hacer lo que quiero en forma dinámica que me cree las hojas con el nombre y que me copie la información. En el List Box esta el nombre de la hoja. Mi libro peajes lo estoy bajando de esta pagina Portal INVÍAS - Colombia se llama Listado Tarifas peajes [/hr]With Workbooks("Peajes.xls") For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then With .Sheets(ListBox1.List(i)) .Range("A2:J" & .[…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 831 visitas
  19. Estimados, quiero solictar de su ayuda para el siguiente problema Tengo un Form en donde puedo realizar consultas mediante listbox, pero lo que necesito es que al pinchar el checkbox se consolide los datos por codigo o nombre de producto. En el form existe la posibilidad de consultar por producto pero los da en detalle y la idea es que se puedan visualizar ambas opciones tanto consolidado como en detalle y que cuando consolide los datos tambien sume los valores que tiene cada uno. espero haberme explicado bien y que puedan entender mi solicitud. saludos. Consolidar.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  20. Started by mcastillo32,

    Hola a todos, tengo el siguiente problema que me gustaria me pudiesen ayudar tengo una hoja en la cual realizo consulta a BD SQL, hasta el momento logre conectarme a la base de datos y rescatar la informacion que necesito el problema es que cuando filtro por fechas mediante DTPicker y consulto por Ej. por el dia 04-12-2012 el resultado que obtengo son los datos del 12-04-2012. El problema es que considera los 2 primeros digitos como el mes y los segundos como el dia y no he logrado solucionar esto. le pido por favor si me pudieran ayudar. Saludos Libro3.rar

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 2.7k visitas
  21. Started by chriz2519,

    Buenas noches compañeros estube tratando de mejorar una reporte en el cual me ayudo Toldeman pero no encuentro la solucion al macro en el cual quiero que en la hoja de ExtraerReporteArticulo poniendo la fecha del dia de hoy supongamos y presioando el boton REPORTE me salga todo un reporte de los clientes que se encuentran en la hoja de ConsolidadoMensual que esten vencidas a la fecha de hoy sus pago ejemplo si pongo 20/12/2012 y presione reporte me vote en la hoja de ExtraerReporteArticulo todas las deudas con sus respectivos datos que esten vencidas a la fecha que ingrese y no me salgas las que estan despues de esa fecha solo las que estan atrasadas , espero de su ayu…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  22. Started by Mar0805,

    Buenas amigos genios del excel!, me podrían ayudar con este problema que se genera cuando: 1.- tengo una hoja llamada Generar CI = Código Interno 2.- Hoja de Propuestas donde se almacenan los CI De todas maneras adjunto el archivo para q me ayuden! Gracias de antemano! >_< Lo siguiente es que debo proteger la Hoja Propuestas y de la hoja de CI podré modificar sólo el nombre que ingresare el requerimiento. Al proteger me sale error!, la macro que utilizé para generar el CI y es donde me marca en amarillo es el siguiente: Sub btn_procesar() Dim rbase, cbase As Integer Dim cant As Integer Dim desc, cod, cli, jp As String Dim msg As Variant…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 713 visitas
  23. Invitado guindall
    Started by Invitado guindall ,

    ¿Cómo reemplazar los datos del rango D6:M6 que coincidan, al menos, con los 8 primeros caracteres, de los datos del rango A6:A20? reemplazar.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 843 visitas
  24. Necesito crear una macro que copie el valor númerico de una celda de referencia incrementandolo en una unidad y que al mismo tiempo actualice la celda de referencia situandose para finalizar en la celda de origen. Ejemplo: si estoy situado el la celda (I8) necesito que copie el valor de la celda (I1) = 6 incrementandolo en una unidad. (I8) = 7. Actualizando el valor de la celda de referencia (I1) = 7 y finalizando su posicion en la celda de origen (I8)

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  25. Started by lmorente,

    Buenas gente, a ver si me podéis ayudar. Tengo un código con el cual creo una barra de progreso para ver el estado de la macro en ejecución. Hasta aquí todo perfecto. El caso es que la primera vez que ejecuto la macro una vez abierta la excel, todo funciona correctamente, es en las ejecuciones posteriores que la macro va excesivamente lenta. Este es el código que da problemas: Do While LineaActual < UltimaLinea ContadorEscalones = ContadorEscalones + 1 Me.Caption = "Calculando precio " & ContadorEscalones & " de " & NumeroEscalonesPrecios frm_Progreso.lbl_ProgressBar.Width = frm_Progreso.lbl_ProgressBar.Width + PixelesPo…

    • 0

      Reacciones de usuarios

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