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

    Multiplicación de Matrices Automáticas (Cambia al cambiar nxn) Buen día Comunidad de Ayudad Excel. Hace rato que no escribía y les doy las gracias de antemano, ya que siempre me han colaborado. En esta ocasión requiero para terminar un trabajo de la maestría, dónde me toca hacer una hoja electrónica de jerarquización de proyectos... pues bien ya tengo adelantado el trabajo, sin embargo no he podido saber como hago para que de acuerdo al numero de proyectos a jerarquizar la formula de multiplicación de matrices se me actualice, hasta ahora la teng pero multiplicando el total de proyectos que lo establecí en n=20. Adjunto el archivo comprimido en zip.... PD: subo el te…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.4k visitas
  2. Started by Kunstmann,

    Estimados, favor vuestra ayuda, necesito agregar una casilla de verificación (control de formulario) que al marcarla me marque el resto de casillas (40) que tengo en la hoja, esto para restaurar los datos a su forma original; se que debe hacerce con vba, pero no me manejo. Es decir, tengo una hoja con 40 casillas de verificacion y necesito agregar una que al marcarla marque todas y al desmarcarla las desmarque todas. Quedo atento sus comentarios --------------------------------------------------------- buscando y rebuscando en la web encontre estos 2 codigos, si lo ejecuto por separado funcionan perfectamente, pero no se como unirlos para que funcionen dependiendo del…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  3. Started by Pirtrafilla,

    Hola a todos. Os pido ayuda con este proyecto que estoy haciendo. Tal y como lo tengo ya me funciona, pero veo que tarda en recorrer demasiado las filas, creo que porque estoy usando FOR NEXT. No se si hay manera de hacerlo correr más rápido, con WHILE por ejemplo o de otra manera. Os envío el proyecto y os agradezco si me podéis ayudar porque no veo capaz. El problema viene en la hoja Plantilla_Parte_KM, cuando uso los botones para recorrer las matrículas, la busca en una hoja con este bucle. Si la encuentra pronto no hay problema, pero si no la encuentra o está lejos en el contador del bucle se hace lento. Como siempre gracias de antemano. Moisés. …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.4k visitas
    • 1 seguidor
  4. Started by emi125,

    Buenos días, lo que intento hacer es que al ingresar un código de barra a través de un lector me lo divida según los datos que contiene y me arroje los resultados. El código contiene 21 dígitos. los 4 primeros serian la presentación. los siguientes 4 el numero de legajo de operario 1 los 4 siguientes el numero de legajo operario 2 los 8 seria la fecha de fabricación y el ultimo seria el turno que pertenece. Espero que puedan ayudarme, desde ya les agradezco y saludo.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.4k visitas
  5. 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.4k visitas
  6. Hola amigos Adjunto un archivo de uso diario en el cual me funciona bien una macro de limpieza de rangos específicos. Quiero estar seguro que si abro otro archivo no se ejecute en éste recién abierto la misma macro si presiono (por equivocación) las teclas de acceso directo. En este caso Ctrl+Mayus+V. Lo hice con grabación de macros y al código generado yo le agregué "With Hoja1" y su correspondiente "End With". ¿Debo en alguna parte del código (supongo que al principio) agregar algo más? Algo como "ThisWorkbook" u otra propiedad... Gracias de antemano Rubén 000000 Transferencias.xlsm

    • 1

      Reacciones de usuarios

    • 6 respuestas
    • 2.4k visitas
    • 2 seguidores
  7. Estimados amigos saludos a todos nuevamente... hace bastante tiempo que vengo buscando la forma de automatizar este procedimiento, trato de exportar la hoja activa de un excel a un archivo texto, pero limitado por la barra vertical "|", pero no he tenido suerte, espero que ustedes me puedan ayudar, adjunto un archivo como ejemplo. Nota.- olvidaba recordarles que como nombre del archivo exportado se puede colocar el nombre de la hoja actual, ejemplo: Hoja1.txt. espero sus comentarios saludos juliocesar Exportar con barra vertical .xls

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.4k visitas
  8. Started by SalvadorKahatt,

    Mi Macros transforma datos del Excel a txt separando las columnas por un palote, mi problema es que transfiere también la información de filas vacías agregando los palotes hasta el infinito. Sub CreaTxT() Dim NombreArchivo, RutaArchivo As String Dim obj As FileSystemObject Dim tx As Scripting.TextStream Dim ht As Worksheet Dim i, j, nfilas, ncolumnas As Integer NombreArchivo = "LE" & Cells(2, 4).Value & Cells(3, 4) & "0008010000" & Cells(4, 5) & Cells(5, 5) & Cells(6, 5) & "1" RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo & ".txt" Set obj = New FileSystemObject Set tx = obj.CreateTextFile(RutaArchivo) Set ht = W…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.4k visitas
  9. Hola, Un compi me ha ayudado a crear una macro para reenviar los datos un excel por correo. La macro parece que funciona, ya que en función del valor de un una columna, filtra los datos y va a buscar un correo electronico en una hoja adjunta. El problema, es que cuando envio el correo funciona, pero me he dado cuenta que cuando me reenvian el correo desaparece el filtro y se ven los datos de todas las agencia... Lo cual es un problema. Os copio el código por si podéis ayudarme. Gracias, Option Explicit Private Sub btnBuscarExcel_Click() Dim sNombreFichero As String On Error GoTo Control_Error Dim fd As Office.FileDialog…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.4k visitas
  10. Started by hamlet45,

    Buenas, Lo primero decir, que me parece genial este foro, que hace poco que empecé con esto de las macros y de la programación en VBA y me habéis ayudado mucho leyendo el foro. Mi problema es el siguiente; Resulta que tengo un libro en excel PERSONAL.XLS donde tengo 3 botones de macro creados. Cada uno con su código y bien enlazados a cada botón. A mi en mi usuario me funciona perfectamente claro. Pero la idea es que estas macros le aparezcan a el resto de usuarios de la empresa. Para ello creamos un recurso compartido (una carpeta en red) llamada Macro y ahí he metido el archivo PERSONAL.XLS y el archivo Excel11.xlb que es la barra de herramientas con los botones. E…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.4k visitas
  11. Hola amigos me gustaría que completen mi trabajo tengo límites en vba, tengo un formulario que tiene varios textbox y combobox y checkbox quiero grabar todos los puntos que elijo segun el checkbox estos quiero que se graben todos a la vez en una hoja de excel solo he avanzado de grabar uno a la vez y si piensan que se puede mejorar seran bien venidas sus ideas de expertos. Gracias de antemano amigos de Ayudaexcel CargarDatos.xlsb

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.4k visitas
  12. Started by wilsonocv,

    exportar datos de un listbox a pdf con una una ruta especifica de una carpeta por favor es urgente gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  13. Started by Kcos,

    Buenos dias, estuve viendo algunos temas sobre mi problema y no pude solucionarlo. Les dejo el archivo para que lo vean, la idea es que el dato que se llena en el textbox IVA sea numerico del 1 al 4 y que se guarde como numero. Porque después hago una evalucaion dependiendo de ese resultado y no la puedo hacer porque me lo toma como texto. Agradezco si alguien me puede dar una mano con esto. Muchas gracias - - - - - Mensaje combinado - - - - - Perdon la molestia, ya lo solucione. Lo que si, me gustaría validar el textbox "cmptel1" que sean solo números del 1 al 4. Muchas gracias Facturacion.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  14. Soy nuevo en esto de las macros asi que Vamos a ver si me explico: Necesito que al aplicar la macro, busque los archivos cuyo nombre se encuentran en las celdas A1, A2, A3, A4... (por ejemplo) y el directorio sea fijo, y las copie a otro directorio fijo. Como variable solo estarian los contenidos de las celdas, en las que tendriamos que poner el nombre del archivo con la extension. de antemano se los agradesco mucho.:smug:

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.4k visitas
  15. Started by pyrata,

    Buenas Tardes antes que todo agradecer cualquier ayuda o sugerencia. Bueno les comento tengo un combobox donde al elegir una opcion me despliega una serie de datos, dentro de esos datos tengo una ficha tecnica de un producto en particular, mi idea es que luego de mostrar esos datos la celda que contenga el nombre de la ficha tecnica que en forma de link y que me permita abrir la ficha. Estas fichas estan en formato pdf. Estuve haciendo algunas pruebas con codigo: Sub CrearHyperlink() Dim FolderName As String FolderName = "C:\Users\Juan G\Desktop\Cristian\pdf\" ActiveSheet.Hyperlinks.Add Anchor:=Hoja1.Range("C20"), Address:= _ FolderName & Hoja1.Range("C2…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  16. Hola a Tod@s y gracias por adelantado, puedan o no ayudarme. Estoy preparando un libro de Excel dedicado fundamentalmente a presentaciones de análisis económicos, y en muchas ocasiones, los números deben ir expresados en textos y los textos en números, y en otras muchas ocasiones, en un mismo texto aparecen de ambas maneras. He dado con un código para pasar de números a letras, el cual comparto por si a alguien le viene bien y digo que, al menos mi experiencia con él es buena. El código es este: …………………. Public Function Num2Text(ByVal value As Double) As String Select Case value Case 0 : Num2Text = "CERO" Case 1 : Num2Text = "UN" …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.4k visitas
  17. Started by Pinta,

    Buenas. Tengo un problema con el separador de miles y decimal en un textbox Poniendo este codigo me muestra correctamente en los label pero en los textbox me salen tanto para el separador de miles como para el decimal un punto "." Por mas vueltas que le doy no consigo que se muestre correcto. Ni con un replace ni con nada. Me.lblImporteTarifa = Format$(Tarifa, "#,0.00") Me.lblImporteNeto = Format$(Neto, "#,0.00") Me.txtDescuento = Format(Tarifa - Neto, "#,0.00")

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.4k visitas
  18. Started by fabirana,

    Formula muy larga. VBA me da error. Hola, no me deja adjuntar el archivo, ¿cómo puedo poner mediante VBA en BU10 (marcada en amarillo) la siguiente fórmula? =SI(O($C10="066";$C10="067";$C10="069";IZQUIERDA($C10;2)="66");SI(ESERROR(COINCIDIR(BU$9;'HISTOGRAMA-ITG'!$15:$15;0));0;SI(ESNUMERO(((SUMAPRODUCTO(('HISTOGRAMA-ITG'!$A$16:$A$99=CONSULTAV(IZQUIERDA($B10;5);'[PRUEBA_MACROFABI_Rev4-16R.xlsm]DATOS_BASICOS'!$A:$B;2;0))*('HISTOGRAMA-ITG'!$B$16:$B$99="CONS")*('HISTOGRAMA-ITG'!C$16:C$99)))/100)-((SUMAPRODUCTO(('HISTOGRAMA-ITG'!$A$16:$A$99=CONSULTAV(IZQUIERDA($B10;5);'[PRUEBA_MACROFABI_Rev4-16R.xlsm]DATOS_BASICOS'!$A:$B;2;0))*('HISTOGRAMA-ITG'!$B$16:$B$99="CONS")*('HISTOGRAM…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.4k visitas
  19. hola a todos. hace días encontré en otro foro una programación vba para concatenar una selección multiple. la verdad que no funcionaba,pero toqueteando un poco y sin saber como funciono. en la misma web salía otra programación que hacia lo mismo pero sin repetir valores, pero esa tampoco funciona y no se donde esta el fallo o como solucionarlo. podríais ayudarme? os pego el código que venia. Espero hacerlo bien que acabo de llegar a este foro y no se si sabre envolver como lo pedís en las normas. la idea es que me salga el archivo como en el excell que adjunto. Function MULTCONCAT(lista As Range) Dim ncell As Range Dim m_concat As String m_concat = “” i = 1 For Ea…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.4k visitas
  20. Started by bernardomoncada,

    hola a todos amigos, bueno como dice el titulo tengo un percanse con esta funcion tengo una hoja con datos por ejemplo desde la columna "A"hasta la columna "K", el cual esta agrupado, pero la columna "I" quiero ocultarla, es aqui donde tengo el problema, pues al estar agrupáda la macro de ocultar la columna "I" no la oulta,pero si el grupo esta expandido la macro si la oculta. bueno es esto lo quisiera lograr , una macro para expandir los datos del grupo comprendido entre las columnas "A y K" ejecutar la macro de ocultar la columna "I" y luego contraer el grupo de datos. saludos Atte. Bernardo Moncada E. expandir contraer.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.4k visitas
  21. Buenos Noches para todos los compañeros estuve realizando una macro para actualizar 8 tablas dinámicas y al momento de ejecutar la macro me genera un error " Se ha Producido el Error 1004 en tiempo de ejecucion" y me sale error definido por la aplica Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Address <> "$b$5" Then Exit Sub Application.ScreenUpdating = False 'Actualiza las tablas ActiveSheet.PivotTables("TD1").PivotCache.Refresh 'Actualiza el año de todas las tablas dia = Hoja3.Range("B5") ActiveSheet.PivotTables("TD1").PivotFields("Dia").CurrentPage = _ dia ActiveSheet.PivotTables("TD2").PivotFields("Dia").…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.4k visitas
  22. Hola, necesito ayuda, con el boton de guardar de este userform no consigo que guarde desde el listbox a la hoja 1 como se puede mostrar en el archivo que subo y tambien que cuando agrego un articulo se borre automaticamente y no quede pegado para que no siga agregando, gracias [ATTACH]40623.vB[/ATTACH] libro1.zip

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.4k visitas
  23. Started by jesuspg,

    Hola compañeros, Mi problema es el siguiente: "Tengo una macro que ejecuta un código cualquiera sobre varias hojas, y entre ello está inmovilizar los paneles de una hoja. El problema es que yo no quiero que se inmovilicen los paneles de la ventana activa, sino de la ventana de la hoja que yo le indique. Esto se debe a que introduzco la sentencia 'ActiveWindow.FreezePanes = true' Entonces, mi pregunta es: ¿No existe otra sentencia para inmovilizar paneles que no sea la anterior? Es decir, algo así como 'ThisWorkbook.Worksheets("Hoja1").FreezePanes = true'. Ya probé con la sentencia anterior, pero obviamente no me deja dado que FreezePanes es u…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.4k visitas
  24. Buenas tardes, Estoy tratando de armar un archivo donde al escribir los códigos de ciertos productos este los busque en páginas web y me traiga los precios asociados, la macro funciona ahora como esta pero el problema ocurre cuando un código no lo encuentra en la página me escribe el precio del código anterior. Alguien me puede ayudar a que si no encuentra ese código en la página el valor quede en blanco? Este es el código que estoy usando. Sub test() Dim IE As New InternetExplorer Dim precio1, precio2 As Variant Dim doc As HTMLDocument Range("B2:C1000").Clear Cantfila = Sheets("Hoja1").Range("A" & Rows.Count).End(xlUp).Row For …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.4k visitas
    • 1 seguidor
  25. buenas tardes, tengo este código que me permite cargar en el ComboBox1 información de la hoja1. Así, también, me permite poner en los textbox's información también de la hoja1 y también me permite ver en un ListBox1 la información de la hoja2 según corresponda. Private Sub ComboBox1_Change() For i = 2 To 1000 If ComboBox1 = Hoja1.Cells(i, 1) Then Exit For End If Next TextBox1 = Hoja1.Cells(i, 2) TextBox2 = Hoja1.Cells(i, 3) TextBox3 = Hoja1.Cells(i, 4) Call Lista End Sub Private Sub ListBox1_Click() End Sub Private Sub UserForm_Initialize() Cargo End Sub Sub Cargo() For i = 2 To 1000 If Hoja1.Range("A" & i) = "" Then Exit For End If ComboBox1.AddItem Hoja1.Ran…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.4k 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.