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. Buenas tardes foristas. Acá les traigo una duda. Estoy trabajando en un Proyecto (aún no terminado) que no es más que rellenar los datos de una planilla o Modelo de Transferencia Bancaria. Por varias razones decidí hacer esto, porque además de agilizar mi trabajo puedo obtener un registro actualizado de Transferencias y extraer varios datos que necesito, pero voy al asunto: En El FrmTransferencia tengo un TextBox (TxtImporte) que se debe colocar el importe a pagar en numero y seguido un Label (LblEnLetras) que es donde se traduce ese importe en letras, pero lo que no quiero es que cuando yo termine de insertar el importe en numero y de Enter o Tab me coloque en …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
    • 1 seguidor
  2. Started by Benito Bartolomé,

    Buenas tardes; -Adjunto una macro con una serie de valores y en una determinad columna los tengo separados por comas. Ejemplo: 12, 20 ,11,102,6,205, etc... Os he marcado con dos colores porque dichos colores forman como una especie de binomio. Puede haber uno o hasta veinte. Lo que quiero es reemplazar el número que pongo de color azul por texto. MS, 20 ,LS,102,PS,205, etc... Enlace video: https://youtu.be/sJxiPJ96eC4 También adjunto macro. Saludos a todos. MMaq.zip

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 1.9k visitas
    • 2 seguidores
  3. Started by cvwm67,

    Buenos Días. Me gustaría muchísimo que me pudiesen ayudar. Estoy realizando, se puede decir programa, que agregue compras, que reste inventarios a su vez de que pueda registrar actividades y que registre reservas de inventario donde no se si pueda conectar, de que a cada día que pase, se resten los días y si pasan 7 días, la cantidad se devuelva al inventario. Está ultima parte no es tan importante como a que si reste los inventarios. Para la parte de registrar actividades lo he podido lograr, pero para la parte de restar inventarios y que con cada vez que yo ingrese una nueva cantidad, el automáticamente se reste de la cantidad que había anteriormente. Ejemplo (había…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.9k visitas
  4. Started by cristhianm,

    Buenas tardes, estoy teniendo un pequeño problema con una macro; resulta que tengo una hoja que a traves de un botón actualiza una tabla proveniente de internet, y una vez que actualiza, realiza operaciones (remplaza "." por "," para que me lo pueda leer como número) Pero resulta que al ejecutarla me he dado cuenta que primero realiza las operaciones y por ultimo actualiza, cuando en realidad el orden es al revés, porque puede ser? Alguno que me oriente porque me desconcertó el problema. El código que uso es : ActiveWorkbook.RefreshAll Dim i, f, final As Integer 'todo Sheets("Todo").Activate For i = 2 To 10000 If Cells(i, 1) = "" Then final = i - 1 Exit For…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  5. Hola. Tengo el siguiente problema. Tengo una macro que abre un formulario y me permite elegir distintas impresoras para imprimir una hoja. Hasta ahí todo bien. El tema es que cuando elijo la impresora XXX Excel queda en la impresión rápida (el icono que está en el menú de arriba) con esa impresora y no con la que Windows tiene determinada. Esto queda aún si abro un nuevo libro. Lo que yo quiero es que de alguna forma la macro haga que la impresora rápida o impresora por defecto de excel vuelva a hacer la predeterminada por Windows que a su vez es una de las impresoras de la lista que tengo para elegir. He probado con el siguiente código al final de la macro pero no func…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  6. Lo que necesito es identificar con la hora de entrada la jornada que debe laborar el trabajador ya sea matutina, vespertina o nocturna. De acuerdo a la jornada matutina es de 9 horas hasta antes de las 12:00 hrs., la vespertina es de 8.5 horas después de las 12:00 hrs. y hasta antes de las 15:30 hrs. y la nocturna es de 8 horas después de las 22:00 hrs. y hasta antes de las 6:30 hrs. Necesito programar (sin macros) la hora de salida al ingresar sólo la hora de entrada, que me identifique que jornada es para que me coloque la hora de salida del trabajador. Intente con una función lógica pero no me reconoce la comparación entre horas. Si alguien puede ayudarme …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  7. 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
    • 1.9k visitas
  8. hola, excelentísimas personas de este magno Foro estoy recién aprendiendo a usar BVA y estoy tratando de hacer una macros que me permita hacer varios gráficos con su pestaña correspondiente, y que las pestañas queden nombradas con el valor de referencia de la celda que contiene el nombre, para esto grabé la macros realizando uno de los gráficos con el cual estoy modificando, el plan era cambiar la direccionamiento de que trae por defecto ej. "=Hoja1!$Z$1" para usar los objetos Range y celda, conseguí que reconociera el rango pero cuando profundizo con las cells me tirar error de objeto, les pido que me digan en que me estoy equivocando, para poder seguir avanzando por fa…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  9. buenas tardes amigos , tengo un problema al realizar una macro que realice una tabla dinamica tengo los siguientes datos. Nombre Nombre_Concepto Año Mes Valor MONTES DEL CASTILLO JAIRO ASIGNACION BASICA-SUELDO 2002 1 1225174 MONTES DEL CASTILLO JAIRO AUXILIO DE TRANSPORTE 2002 1 34000 MONTES DEL CASTILLO JAIRO AUXILIO DE ALIMENTACION 2002 1 50848 MONTES DEL CASTILLO JAIRO PRIMA ANTIGUEDAD EMP.PUBL 2002 1 67385 MONTES DEL CASTILLO JAIRO PRIMA TECNICA 2002 1 263412 MONTES DEL CASTILLO JAIRO AJUSTE FONDO SOLIDARIDAD 2002 1 16809 cuando grabo la macro para que me cree la tabla dinamica me genera el siguiente error agradezco cualquier ayuda para solucionar e…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  10. Estimados Necesito su ayuda para solucionar un problema: Tengo una macro que encontré de una pagina de Internet y que me pareció que funcionado bien, pero que al ejecutarla no cumple del todo de lo que necesito. 1.- Trabaja con un array: "Sourcewb.Sheets(Array("OVALLE", "RANCAGUA", "IQUIQUE")).Copy" pero si elimino una de las hojas arroja un error en la ejecución. 2.- La idea es que si elimino una de las hojas, la macro debe enviar el restantes de las hojas a un correo determinado. 3.- Adjunto archivo excel con la macro. Espero su pronta respuesta saludos cordiales. Fernando. pruebacorreo.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  11. En el archivo que envío, son cuentas que llevo de una banco, en ellas llevo diferentes obras. Lo que deseo es crear un macro que copie una rango de celdas, con una condición que verifique en la columna "J" si dice EBYSA, entonces que copie el rango de celdas. Por ejemplo: si encuentra en la columna J, EBYSA entonces copia la fila pero desde la columna A hasta la columna G de la misma fila que encuentra EBYSA, y ponerlo en una nueva hoja que se llame EBYSA. Y esto seria repetitivo con los diferentes datos que tengo.(CK, EBYSA, QRO, TORIB, PRESTAMO, PTEKIMB., PEDESA, SHAP) - Ademas que cada vez que ejecuto la macro se limpie la hoja donde se pegan las celdas. (Esto me s…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.9k visitas
  12. Started by josdagon,

    buenas tardes a todos los compañerossss... les agradezco de antemano su colaboración e intención con mi duda... tengo un documento de excel y vba (programa) que al ejecutarlo me abre inmediatamente el primer formulario, donde se debe escribir un nombre de usuario y contraseña.... mi pregunta es la siguiente... hay alguna forma de poder incluir en este formulario o en el documente en gral, una macro o aplicacion de tiempo que se ejecute cada 30 días a modo de licencia en programasss...de modo que cada 30 días el programa se bloquee y cambie de contraseña automáticamente....(contraseña que deberé saber yo únicamente) dicho formulario contiene dos textbox (textbox1 =usuar…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  13. Started by noise56,

    Hola amigos, muy buenas tardes. Excel 2003 – SP3 El maestro Macro-Antonio, me ayudó hace algunos días a solucionar un problema que tenía, y para ello, me creó este código que me funciona de maravillas. Private Sub CMBPorcentaje_Click() On Error Resume Next pct = InputBox("Introduce el %", , 0) For Each celda In Selection celda.Value = Round(celda.Value * (1 + pct / 100), 2) Next End Sub[/CODE] Como se puede comprobar, este código lo que hace es sumar un tanto por ciento optativo a las celdas seleccionadas. Bien, ahora me he dado cuenta de un detalle, es necesario que ese tanto por ciento se muestre. Con esto, conseguimos saber qué cantidades han sido i…

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 1.9k visitas
  14. Invitado ulixes33
    Started by Invitado ulixes33 ,

    Buenas, necesitaria ayuda con el siguiente codigo: If ComboBox1 = "Ingreso" Or ComboBox3 = "Efectivo" Then Cells(39, mes).Value = TextBox1.Value + ActiveCell.Offset(35, 0) End If If ComboBox1 = "Egreso" Or ComboBox2 = "Efectivo" Then Cells(39, mes).Value = Cells(39, mes).Value - TextBox1.Value End If Esta en un formulario con tres combobox y un textbox. La operatoria que busco es simple, si en determinado combobox hay una palabra, el dato del textbox se suma o se resta al valor de una celda. El problema me surge cuando en el combobox1 pongo Egreso, ya que no me hace la resta. Agradezco a quien tenga tiempo e intenciones de ayudarmeee.....

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  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. Macro para convertir en número sólo en una columna Buenas a todos: Ante todo felicitar por tan excelente foro que contribuye mucho para usuarios como yo, ávidos de aprender cada día. Tengo este código que hace que desde la hoja “Formulario_pantalla”copie algunas celdas y rango a otra hoja llamada “Kardex”. En realidad lo hace todo bien a excepción del copiado de la celda AJ5 (=TEXTO(AF3,"000000") de la primera hoja mencionada a la otra hoja a partir de la celda A4 donde aparece el icono de advertencia “El número de esta celda tiene formato de texto o va precedido por un apóstrofo” y luego manualmente tengo que convertir en número. Entonces por favor necesito el código…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.9k visitas
  17. Started by gacg1310,

    Buenas Noches: Tengo 2 userform y necesito saber como escondo un label y un checkbox desde un userform diferente

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
    • 1 seguidor
  18. Started by misanme,

    Buenas tardes a todos. En primer lugar dar la enhorabuena por este foro que, sin duda alguna, nos es de muchísima utilidad y que en más de en una ocasión nos ha sacado de un buen aprieto... Os planteo lo que quiero hacer. Para ello os adjunto un archivo .zip de ejemplo para que la ayuda y mi explicación sea mucho más fácil. En dicho fichero podréis ver varios archivos excel y carpetas. En primer lugar, tenemos los archivos "USUARIOS" Y "TRABAJADORES" que sirven como base de datos para dar una referencia a cada usuario y trabajador. Por otro lado, está la carpeta "SEMANAS" en la que incluyo un fichero excel por cada trabajador que es el cuadrante mensual de cada uno de e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  19. Started by Víctor Pérez,

    Buenas, Estoy intentando realizar un macros que me lea los registros que cumplan una condición y me los pegue en otra hoja en la celda que le marco. He probado con esta macro, pero no me lo hace correcto me da error Sub Copiar_datos()

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.9k visitas
  20. Started by fabepretto,

    Buenas, soy nuevo en el foro. Quería saber si podrían ayudarme con un problema que tengo y no encuentro la forma para resolverlo. No tengo muchos conocimientos en VBA, asi que espero que me puedan ayudar. Voy a tratar de explicar lo mejor posible lo que busco. Lo que quiero concretamente es que cuando el usuario ingrese un valor en la columna "Cantidad de vagones no descargados", automáticamente se agregue una fila abajo del último registro de la planilla, en la que se copien todos los datos ingresados hasta el momento (de la fila en la cual se había ingresado el numero de vagones no descargados). Adjunto archivo con ejemplo. Agradezco de antemano su ayuda Planilla.xl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  21. Started by karras,

    Hola amig@s! Estoy intentado crear una macro que inserte una imagen en Excel pero que antes la comprima. Le he dado muchas vueltas a este tema pero no hay manera, lo único que he conseguido es lanzar la ventana de compresión de imágenes y pasarle los valores para que la comprima, pero esto a veces funciona y otras veces no... Set octl = Application.CommandBars.FindControl(ID:=6382) Application.SendKeys "%w~~" No se si hago algo mal... o hay otra forma mejor. Un saludo, gracias de antemano

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  22. Hola buenas tardes! Intentaré expresar mi problema... Tengo una base de datos de dos registros en una hoja de excel llamada "DBMain" En otra hoja "Diseño" tengo un formato que se llena con los datos contenidos en "DBMain". Ahora bien deseo que suceda lo siguiente: 1. Se llena el formulario con el primer registro 2. Se manda a impresión previa 3. Se vuelve a llenar el formulario con el segundo registro 4. Se manda a impresión previa 5. Al término de los registros se debe mostrar al usuario una vista previa de los archivos a imprimir (los dos formularios) Pregunta adicional: ¿Es posible hacer esto en excel apoyándome en VBA?

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  23. Private Sub TextBox10_Change() Application.ScreenUpdating = False On Error Resume Next Dim cam As Integer cam = Len(TextBox10.Text) Select Case cam Case 2 Me.TextBox10.Text = Me.TextBox10 & "/" Case 5 Me.TextBox10.Text = Me.TextBox10 & "/" End Select Dim fecactual As Date Dim fecnac As Date Dim edadactual As String fecnac = CDate(TextBox10.Value) edadactual = DateDiff("d", fecnac, Now) TextBox11.Text = edadactual fecnac = CDate(TextBox10.Value) edadactual = DateDiff("m", fecnac, Now) TextBox12.Text = edadactual fecnac = CDate(TextBox10.Value) edadactual = DateD…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
  24. Buenas a todos: Estoy empezando en la programación en VBA para Excel y gracias a vuestro foro, estoy aprendiendo bastantes cosillas pero me he quedado atascado con algo y no soy capaz de encontrar la solución. Estoy haciendo, a modo de ejercicio, un sencillo programa que permita al usuario introducir una matriz de dimensión variable para calcular su función inversa. La matriz se escribe desde la celda A4 en adelante y mi idea es que el programa lea el número de columnas con contenido para establecer el orden de la matriz, redimensionar los vectores y calcular la inversa. El programa es el siguiente: Option Base 1 Dim M() As Variant Dim MInv() As Variant Sub Inv…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  25. Tengo un formulario form aplicativo excel , que se habre ejecuta el formregistration y pide algunos datos para registrar un usuario lo tipico , luego se da click en camera y se habre otro userform que muestra la webcam en vivo para luego darle en capture y tomar la foto al usuario que se carga en el userformregistration como vista previa , y luego regresar y darle click en salve al formulario userformregistration, donde la imagen del usuario se guarda en una carpeta donde se tiene este excel form, guardado y los datos se guardan en las celdas del libro sheets1 junto con un dato de la foto en letras, en la celda GAMBAR,, necesito que este aplicativo me deje tomar 2 …

    • 0

      Reacciones de usuarios

    • 0 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.