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

    Buenas tardes, Recurro a ustedes una vez mas, para intentar que alguien me ayude a dar con la macro adecuada. Tengo un documento, con registros de personas (nombres, apellidos, fechas de nacimiento...) y otra columna de edad que se calcula con la fecha de nacimiento mediante la siguiente formula =SIFECHA(--SUSTITUIR(F5;".";"/");HOY();"y")[/CODE] , pero cada vez que ingreso un con la fecha de nacimiento no se me actualiza la edad, he probado con esta macro pero no me funciona [CODE]Sub RellenarColumnaI() Range("I2").AutoFill Destination:=Range("I2:I" & Range("A" & Rows.Count).End(xlUp).Row) End Sub[/CODE] Me gustaría cada vez que se ingrese un registro…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.3k visitas
  2. Started by MarianoCruz,

    Hola buenas tardes: Estoy realizando un formulario para el registro de ventas diarias de mis productos, el proceso es el siguiente: 1. En un cuadro de busqueda ingreso cualquier parte del texo de mi codigo. y por medio de una lista me muestra las coicidencias a lo escrito, 2. selecciono la descripción que requiero y al seleccionarlo se muestra en un combox. 3. ingreso cantidad y precio, 4. Con el boton de registrar se ingresa en otra lista el codigo, la descripcion, cantidad, precio e importe. asi con los diferentes productos . el problema que me encontre es que si mi codigo buscado contiene una letra al registralo con el boton "registrar" e…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 702 visitas
    • 2 seguidores
  3. Saludos, Estoy preparando un archivo el cual se encarga de recopila (acumular) información dìa a día de un determinado archivo y va a uno general, una vez ya copiado aplico formulas las procesa, las selecciono y las convierto en valores, el còdigo de una parte (que es casi todo) es el siguiente: 'RegistrosActuales (es desde donde se quedo el anterior ingreso y lo nuevo continúa) ' Entonces tenemos esto 'Agrega fecha de actualización Range("g" & RegistrosActuales & ":g" & (Cells(1048576, 1).End(xlUp).Row)).Formula = Now() Range("g" & RegistrosActuales & ":g" & (Cells(1048576, 1).End(xl…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
  4. 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
    • 2k visitas
  5. Started by lphant,

    Buenas noches; Quien me puede echar una mano, estoy intentando hacer una macro que me envié cierta celdas por mail y algo me esta fallando, me abre el correo y lo envía pero vació, no ingresa el contenido, el contenido me lo copia en lo primero que este abierto en ese momento. Os adjunto las lineas: On Error Resume Next Set parte1 = CreateObject("outlook.application") Set parte2 = parte1.createitem(olmailitem) parte2.to = "destinatario@blabla.com;destinatario1@blabla.com" 'parte2.CC = parte2.Subject = "asunto de mensaje" parte2.display Application.SendKeys "^v" parte2.send Set parte1 = Nothing Set parte2 = Nothing On E…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
  6. Started by nickmartinez,

    Saludos Compañeros recientemente cree una ribbon la cual funciona muy bien,pero al correr el archivo en otras pc donde se elimino office 2010 me arroja el siguiente error al iniciar excel :System Error &H8000FFFF (-21474181113) catastrophic error y luego Out of memory,se que el problema es al querer cargar la ribbon y que es por haber tenido antes office 2010 por que justamente en las 2 pc que me ha dado error han tenido office 2010 se elimino y se instalo el 2016,quiero preguntar si conocen la forma de solucionar este error sin necesidad de formatear la pc,gracias se los agradezco mucho si me pueden orientar. Me baje un desinstalador de office limpie los registros p…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.9k visitas
  7. hola que tal?, aqui de nuevo con mis dudas y esperando se me pueda auxiliar en esto y es que esta vez quiero hacer lo siguiente: Lo que Necesito hacer es que al estar escribiendo sobre un textbox (el cual obviamente esta dentro de un formulario) solo acepte: 1ro.- solo numeros o solo letras o los caracteres que yo desee 2do.- que al llegar al sexto caracter me ponga una " / " y posteriormente siga escribiendo solo y unicamente hasta el onceavo caracter. se que para poner la cantidad de caracteres permitidos es en la propiedad maxlenght, pero si quisiera saber manipularla mediante codigo No se si me di a explicar ponerdiagonalal5tocaracter.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2k visitas
  8. Started by axmug,

    Hola. Tengo hecha una macro muy sencilla cuyo objetivo es mostrar en otra hoja aquellas celdas que están en blanco. Este es el código: Public Sub blancos() Dim f As Integer Dim f_max, c_max As Long ActiveWorkbook.Worksheets("Hoja1").Copy after:=Worksheets("Hoja2") 'Para saber cuantas filas y columnas hay como maximo rellenas f_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Row c_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Column 'Para situarse en la celda Range("AE").Select 'Cells(4, 10).Select 'Rows(4, 10).Select For f = 4 To f_max If ActiveCell.Value <> "" Then ActiveCell.EntireRow.Delete If ActiveCell.Value = "" Then ActiveCell.Offset(1,…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.7k visitas
  9. Started by lphant,

    Buenas tardes a tod@s; Esta tarde me ha surgido otro problemita que …..por más vueltas que doy no sé cómo solucionarlo (si se puede, que me está oliendo que no ). Esto haciendo una consulta de Access a Excel por SLQ contando con 2 condiciones, la condición 1 es si tiene el dato xx y la condición 2 es que no tenga el dato xx, el problema que tengo es que en la columna de la condición 2, hay celdas en blanco que debería de contar y no las cuenta, solo cuenta lo que tiene dato. He probado de varias formas pero no doy con ello. Os adjunto la línea que tengo. Query = "Select count (Motivo) from consulta where Motivo ='CIERRE ROTO' And tipo_hnc …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  10. Started by jeladio,

    Hola amigos: Acudo a uds. solicitando su ayuda, tengo lo siguiente una lista en una hoja llamada "listado" en donde tengo dos columnas la primera con el ID y la segunda con el NOMbre del producto; en otra hoja llamada "Indice" tengo en la celda "A2" un listado de numeros separados por comas (,) con las cuales quiero hacer lo siguiente: Hacer un tercer listado (hoja llamada "lista final") en la cual me muestre solo los productos correspondientes a los numeros contenidos en la celda "A2" de la hoja indice. (adjunto un ejemplo de lo quiero hacer con dicho macro) Espero haberme dado a entender saludos filtrar.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k visitas
  11. Estimados amigos, acudo a ustedes solicitando por favor su ayuda con una macro, la cual necesito que compruebe la fecha de nacimiento y genere un número aleatorio que no se repita ni en próximas generaciones de aleatorios hasta que se agoten los números y vuelva nuevamente el ciclo, es decir: Que compruebe en el rango (“C6:C20”) la fecha de nacimiento y si: =< 30 años genere en la columna (“A”) un número aleatorio del 1 al 100 que no se repita =>31 hasta los 40 genere en la columna (“A”) un número aleatorio del 101 al 200 que no se repita Y mayores de 40 genere en la columna (“A”) un número aleatorio del 201 al 300 que no se repita Una vez que no haya más núme…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 844 visitas
  12. Buenas tardes eruditos del foro ?, mi duda esta vez es medio difícil de explicar: quisiera que en una celda, llamémosla (celda 2), vinculada a la (celda 1), quede fijo el ultimo valor que tenía la (celda 1) antes que se le coloque el valor 0 a dicha celda (celda 1). Subo un ejemplo de la tabla con otra expiación, espero que puedan comprender Saludos Jose Libro1.xlsx

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 936 visitas
    • 1 seguidor
  13. Buenas tardes, tengo una macro copiada de un ejemplo que funciona perfectamente. Usa un formulario para capturar datos a una hoja. El problema está cuando convierto el rango normal en una tabla. Aquí ya no me numera la columna A y se desplaza al final de la tabla. Agradecería me echasen una mano. Adjunto envío archivo. prueba.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 891 visitas
    • 3 seguidores
  14. Started by Pirtrafilla,

    Hola a todos de nuevo. Tengo un problema con un autofiltro. Necesito filtrar 3 columnas, de "F" a "K" y el criterio se encuentra en la columna "K" que es la columna 3 del criterio. Lo que necesito es copiar los datos filtrados pero solo de las dos primeras columnas, no las 3 columnas, y llevármelas a otra hoja. Por ahora lo que consigo es llevarme las 3 columnas y no se llevarme solo las 2 columnas primeras del autofiltro. Este es el código que tengo. Sub ExportarTecnicos() Application.ScreenUpdating = False: Application.DisplayAlerts = False ' Dim wsPxA As Worksheet, wsGrupos As Worksheet Dim rngData As Range Set wsPxA = Sheets("PxA"): Set wsGrupos = S…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 819 visitas
    • 2 seguidores
  15. Hola compañeros, Llevo un tiempo con un problema en el siguiente código, y no sé cómo solucionarlo. Private Sub Worksheet_Activate() Cells().Columns().Ungroup ' 1 Columns(4).Group ' 2 Columns(5).Group ' 3 Me.Outline.ShowLevels ColumnLevels:=1 ' 4 End Sub Me gustaría insertar un condicional en la primera sentencia tal que "If Cells().Columns().Group = True Then Cells.Columns.Ungroup", para de este modo ejecutar el resto de las sentencias (la segunda, tercera y cuarta) sin problemas. Pero esa instrucción me da problemas... En otras palabras, un evento tal que al activar la hoja, se agrupen la…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.9k visitas
  16. Started by leserasfea,

    Amigos, buenas tardes. Quisiera contar con su ayuda para hacer que en la columna B, se rellene desde la ultima celda utilizada con el numero 1 consecutivo hacia abajo segun indica la celda I3 que describe el numero final del relleno Ejemplo: Ultima celda utilizada B7 con el numero 500 Celda I3 dice 5, se aplica el macro y el resultado final es: B8 = 1 B9 = 2 B10 = 3 B11 = 4 B12 = 5 Muchas gracias.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.9k visitas
  17. Hola a toda la comunidad, espero me puedan ayudar a un problema al parecer simple, pero no he podido darle solución a esto: Tengo un checkBox1 con esté código que al activarlo y me salga el mensaje de Ok y Cancel, al presionar el botón OK, se ejecuta la macro "ModificarFicha" (Hasta ahí todo bien).... Private Sub CheckBox1_Click() Dim respuesta As Variant respuesta = MsgBox("¿Desea registrar ahora la ficha?" + Chr(13) + "¿Desea proceder?", vbOKCancel) If CheckBox1.Value = 1 And _ respuesta = vbOK Then ModificarFicha End If End Sub El problema resulta cuando ya tengo el checkbox1 activado y ya se ejecuto la macro "ModificarFicha" porque presioné Ok. en mi f…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 15.7k visitas
  18. Started by dragonniko,

    Estimados. Estuve leyendo varios post y no logro encontrar especificamente con una solución. En primer lugar necesito mandar un email con una macro con un contenido de excel. Logro armar los distintos emails para cada destinatario especifico, ponerle un subject, pero no logro poner el cuerpo del mensaje. NO necesito enviar una celda sola, ya que con .body = Range (Celda) lo envia, sino que necesito que envie toda una tabla entera. Probe varias formas y no logro dar con la correcta. .body= Range("A1:I11") .body= Range("A1:I11").Value .htmlbody=... También he intentado con lo siguiente: Sub EnviarEmail(Destinatario As Variant) With ActiveSheet.MailEnvelope …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.1k visitas
  19. Started by carlos178,

    Buenas noches a todos; Necesito hacer funcionar varios combobox dependientes en un userform, (lo tengo hecho ya mediente validación de datos), pero no me sirve, necesito que sea en un userform. No se como se puede hacer mediante VBA, pero es que además, los datos de la hoja que están repetidos se han de mostrar además en el userform como únicos. He subido un ejemplo y una captura de pantalla de como debería funcionar. A ver si me podéis echar una mano, compañeros. Saludos!!! COMBOBOX DEPENDIENTES.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 975 visitas
  20. Started by Eduado09,

    Tengo en mi libro datos informacion en la columna A,M, N...hasta la DL en la columna A datos asi tengo 3972616 3972616 3972616 3975130 3975130 3975130 3976599 3976599 Y apartir de la columna M hasta DL tengo datos asi: A M N O CD DA DL 3972616 1% 3972616 75% 3972616 84% 3975130 88% 3975130 93% 3975130 12% 3976599 2% 3976599 9% Me gustaria por medio de una macro o funcion que se pudieran sumar las celdas una por una y asi cada vez que exista valores diferentes ejemplo asi seria el resultado, el resultado que lo sobreescriba de …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 937 visitas
  21. HOLA! en mi hoja "INICIO" tengo la celda B8 con validacion de datos cuyas opciones son tres: celda en blanco, "SI" Y "NO". Quisiera poner un boton que apareciera una vez seleccionada la opcion "SI" o "NO" y que me dirija a la hoja "CALCULOS". SOLO TENGO LO SIGUIENTE: Private Sub CommandButton1_Click()Sheets("CALCULOS").Visible = TrueSheets("CALCULOS").Select Range("c2").SelectSheets("INICIO").Visible = FalseEnd SubEL RESTO NO SÉ COMO HACERLO. ¿¿ME PUEDE AYUDAR, POR FAVOR??(( Cabe mencionar, que en la misma hoja INICIO puse otro boton (IRALINEALIQUIDA) con un macro que me dieron y me resultó perfecto para lo que necesitabaque es el siguiente:Private Sub iralinealiquida_Cli…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 11.5k visitas
  22. Started by Galactico,

    hola buenas, he estado hace un tiempo aprendiendo y desarrollando macros en vba para realizar scraping en paginas web, en una de las paginas que utilizo apareció esta protección del sitio, el posible bypasear con vba? he leído que se puede hacer con phyton pero no conozco ese lenguaje el mensaje que dice es Cheking your browser before accessing "sitio" dejo pantallazo https://ibb.co/wp4mwzP en caso de no ser posible, quizás ya sea momento de aprender otro tipo de lenguaje agradezco mucho la ayuda

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 935 visitas
    • 2 seguidores
  23. Started by juan carlos vilchez,

    Muy buenas, tengo un formulario donde se debe de actualizar datos de una tabla mediante un botón, el problema que tengo con el código es que solo me corre cuando actualiza un celda pero cuando añado para que me actualice mas celdas de una fila me sale el error 1004. Agradeciendo de antemano por su ayuda. Private Sub BT_Modificar_Click() Dim fila As Object Dim linea As Integer Dim MENSAJE As String valor_buscado = Me.TXT_Cod Set fila = Sheets("BASEdeDATOS").Range("A:A").Find(valor_buscado, lookat:=xlWhole) linea = fila.Row MENSAJE = MsgBox("¿ESTÁS SEGURO DE EDITAR LOS DATOS?", vbQuestion + vbYes…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.9k visitas
  24. Saludos.. La inquietud va por ver el form en la barra de tareas al esconder o hacer invisible el excel y solo visualizar el form La otra es como puedo crear mis propios botones de maximizar y minimizar un form. Muy agradecido por sus aportes... EJEMPLO.rar

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.3k visitas
  25. Started by Benito Bartolomé,

    Hola a todos; Estoy tratando de pintar unos labels vinculando los textBox con los spinButtons, de forma estática lo consigo pero lo que quería conseguir es dar cierto dinamismo ayudándome de dichos spinButtons, Os lo muestro en este gif lo que tengo hasta ahora. Saludos y buen finde a todos. MIntervalos.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 841 visitas
    • 1 seguidor

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.