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

    Hola me gustaria que me ayudaran con una macro o una aplicacion de visual basic en excel para hacer lo siguiente: Tengo un formato de excel donde me envian informacion siempre es el mismo formato pero cambia la información de un archivo a otro [TABLE=width: 64] [TR] [TD=width: 64]ROPP:CELL=TSA1201,CSYSTYPE=GSM1800;[/TD] [/TR] [TR] [TD]ROPP:CELL=TSA1202,CSYSTYPE=GSM1800;[/TD] [/TR] [TR] [TD]ROPP:CELL=TSA1203,CSYSTYPE=GSM1800;[/TD] [/TR] [TR] [TD][/TD] [/TR] [TR] [TD] [/TD] [/TR] [/TABLE] por ejemplo ese es el scrip k quiero generar apartir de la informacion que me mandan el valor de CELL y CSYSTYPE viene por ejemplo en la celda C7 …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.2k visitas
  2. Started by 5luis,

    Buenos días, necesito una solución, para evitar, en pantalla completa que me saliera al querer modificar las celdas bloqueadas "FINALIZAR O DEPURAR" y que saliera un aviso "CELDA BLOQUEADA" Un saludo

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 6.1k visitas
  3. Buenas, tengo un proyecto con tres userforms a los cuales he podido acceder en un proceso normal. Pero me ha llegado el problema cuando he querido volver a un userform que le habia puesto en .Hide y me saltaba el error de que no se podía mostrar porque ya estaba abierto. He intentado ir cerrando los userform según iba pasando al siguiente mediante una funcion ubicada en un módulo y ahora me da error '91' en tiempo de ejecucion - variable de ojeto o bloque with no establecido. Esta es la funcion que la tengo ubicada en un Módulo. Function FormularioAbierto(ByVal Nombre As String) As Boolean Dim frm As Object frm = False For Each frm In VBA.UserForms …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
    • 1 seguidor
  4. Hola, al buscar la primera celda vacía de una columna me surge un problemilla: el código Sub Macro1() Dim fila As Double 'la primera fila vacía será fila = Range("A" & Rows.Count).End(xlUp).Row 'la línea anterior da 1 si la primera celda está vacía y 'también si solo la primera tiene datos End Sub [/CODE] da como resultado [color=#ff0000][b]"1"[/b][/color] si la primera celda está vacía y también [color=#ff0000][b]"1"[/b][/color] si solo la primera tiene datos. A partir de que haya dos celdas da resultados coherentes. Os dejo tres imágenes para ilustrar esto. ¿Hay algo que se pueda hacer para que cuando no haya celdas esta comprobación …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 20k visitas
  5. 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
  6. 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
    • 811 visitas
    • 2 seguidores
  7. 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
  8. 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
  9. 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.2k visitas
  10. 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
    • 3k visitas
  11. 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
  12. 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
  13. 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
  14. 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
    • 1.1k visitas
  15. 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
    • 874 visitas
  16. 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
    • 971 visitas
    • 1 seguidor
  17. 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
    • 998 visitas
    • 3 seguidores
  18. 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
    • 864 visitas
    • 2 seguidores
  19. 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
    • 2.1k visitas
  20. 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
  21. 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.8k visitas
  22. 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.2k visitas
  23. 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
    • 1k visitas
  24. 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
    • 983 visitas
  25. 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.6k 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.