Saltar al contenido

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

    tengo una tabla donde quiero que el color cambie de verde a rojo utilizando la fecha de la computadora. ejemplo: visita peter = 21 feb 2011(verde) vence al año 21 feb 2012(rojo)

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 790 visitas
  2. Started by GonzaloLM,

    Hola, Quería saber si a alguien se le ocurre algún modo de cambiar de formato de: "11h 22m 33s" (Horas, Minutos y Segundos) al formato [hh]:mm:ss Yo lo hago reemplazando las letras "h", "m" y "s" por ":" y funciona cuando están los tres, pero en el momento que hay un dato que sólo tiene 11m 22ss, mi método falla, y tengo que cambiarlo a mano y es una locura porque hay muchos datos. ¿A alguien se le ocurre algo? Muchas gracias de antemano. Un saludo! Gonzalo.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 611 visitas
  3. Started by gogua,

    Hola , Tengo una UDF que realiza unas comprobaciones y asigna a la celda donde está la función unas fechas. Estoy intentando que en funcion de esas comprobaciones me ponga un fondo de celda de un color. Pero no lo consigo. Me da en la celda: #¡VALOR! Esta es la funcion: Function EFICACIA(Fecha As Date, Categoria As String, Plazo1 As String, Plazo2 As String, Plazo3 As String, Estado As String) As String '1 - Inmediata '2 - 1 mes '3 - 3 meses '4 - 6 meses '5 - 1 año revision = 3 '3 meses If UCase(Categoria) = "ACCIDENTE CON BAJA" Or UCase(Categoria) = "ACCIDENTE SIN BAJA" Or UCase(Categoria) = "CURA LABORAL" Or UCase(Categoria) = …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 473 visitas
  4. Started by SHAGGYNEYTOR,

    buenas tardes necesito de su ayuda nueva mente esta vez y ya me cicle le comento el porque, utilizando el grabador de macros realice una macro pero al momento de utilizar el bucle for esta me pone la misma formula en todas las hojas y esto es debido a que no me cambia las hojas conforme el bucle va cambiando de hoja, la función es la siguiente Range("L21").Select ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-2],'B1 (1) '!RC[-2],'B2 (1)'!RC[-2])" Range("L22").Select esto es para sacar un promedio de dos hojas anteriores, pero esta formula iniciaria a correr a partir de la hoja tres, ojala y me pudieran orientar de como poder resolver esto. de antemano muchas gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 767 visitas
  5. Started by SHAGGYNEYTOR,

    amigos buenas noches desde México, tengo que realizar un trabajo el cual ya tengo un poco avanzado pero he llegado a un punto en donde tengo que modificar todo lo realizado nada mas por que necesito que al momento de crear una hoja y le pone nombre (ejemplo "B1 (1)") y así esta especificado en el código para crear las hojas y cuando quiero escribir otro código en la hoja creada tengo que seleccionar dicha hoja, el problema empieza cunado quiero hacer mas hojas (ejemplo "b1 (2), b1 (3), b2 (4) y asi) quisiera que me comentara si se pudiera hacer automático. Sub UNA() INICIO Y = Worksheets.Count Application.ScreenUpdating = False Sheets.Add After:=Sheets(Sheets.Count) …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 925 visitas
  6. Tengo un archivo con muchas (realmente muchas) tablas dinamicas (que voy a llamar dashboard.xlsb), cuyo origen de datos esta en otro archivo de excel con multiples hojas (que voy a llamar basededatos.xlsx). El tema es que el archivo de datos creció tanto que se hizo practicamente inmajejable. Para sortear este problema, decidí convertir este archivo en binario (lo cambie de .xlsx a .xlsb). Por supuesto, ahora las tablas dinamicas están buscando los datos en el archivo basededatos.xlsx y no lo encuentran, pues decidi cambiarlo a basededatos.xlsb. Hay alguna forma mediante VBA de cambiarle la ruta o el nombre del archivo con el origen de datos a TODAS las tablas dinamica…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.8k visitas
  7. Started by miguelfcibera,

    Buenas a todos, este es mi primer post, y lo primero decir que me parece un gran foro, con gente que controla mucho y tienes ganas de ayudar. Por eso, enhorabuena a toda la comunidad. Al grano con un problema que me tiene un poco loco: Primero decir que soy totalmente novato en vba y estoy haciendo una aplicacion simple para gestionar una tabla con datos, a modo de base de datos, para consulta con filtros predefinidos y posiblidad de impresion de reportes. Mi problema es con las fechas...tengo un listbox para las busquedas y desde esos datos filtrados saco el reporte (son 11 columnas), todo funciona correcto y me lo muestra dentro del control listbox perfectamente, p…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.8k visitas
  8. Buenos días, con la colaboración de ustedes desarrolle una planilla en Excel con Macros y Combobox las cuales me ha sido muy practica, pero veo que se puede mejorar muchísimo y que quede mas ágil y agradable al usuario, (Adjunto dicha Planilla) que en resumidas cuenta hace lo siguiente: Solicita Un Nombre (Celda en Combobox - Busqueda Inteligente) Solicita Un tratamiento Celda en Combobox - Busqueda Inteligente) Cantidad Valor Unitario (Lo trae de la tabla de Tratamientos cuando encuentra dicho Item) Trae otros campos adicionales como son Marca, Unidad, los cuales trabajo con "BUSCARV" Hay Otros campos que se llenan manualmente. La idea es que esta plan…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 598 visitas
  9. Started by TREBUR,

    Hola... Tengo una serie de datos estimados y necesito automatizarlos para obtener la Campana de Gauss de una manera más rápida, usando como base el archivo adjunto. Coloqué una imágen que refleja como debería ser el resultado final, hombres del lado izquierdo en color azul y mujeres del lado derecho. La idea es obtener la Campana de Gauss con proyecciones de más años, por ello la intención de automatizar la tarea. ¿Es posible? Apu-1.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 819 visitas
  10. Hola de nuevo, a ver si me podéis ayudar con esto. Estoy haciendo una tabla dinámica con una macro, el problema es que tengo que agregar dos campos calculados que representen el porcentaje de unos datos, y claro, para hacer el porcentaje necesito tener previamente el total, que me lo da precisamente la tabla dinámica, así que no sé cómo hacerlo, porque no sé qué fórmula puedo usar para hacer referencia al campo "totales" que me da la tabla dinámica. Os paso un excel con los datos de origen,en "vuelos1" está la tabla dinámica que crea la macro y al lado de esa una creada a mano con lo que pretendo conseguir, lo que me falta son las dos columnas de porcentajes, llevo toda …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 5.1k visitas
  11. Started by Sanet95,

    Buen día a todos! Soy nuevo en esta comunidad tan padre y me gustaría empezar mi participación con la siguiente duda: Estaba trabajando en una macro y de repente me apareció el mensaje "cant find project or library" y desaparecieron mis módulos. Intenté ver referencias pero ni siquiera me permitió abrirlas. Lo guardé con nombre distinto y aún así me sigue apareciendo mismo mensaje de error y nada en los módulos. Me gustaría por favor si me pudieran orientar en qué es lo que está pasando y cómo lo puedo solucionar? Ya que restauré versiones anteriores pero perdí todo el código que había cambiado antes del error. Muchas gracias…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 836 visitas
  12. Buenas tardes. Estoy varado en este dilema, tengo una rutina para copiar 2 hojas de un libro de 30 y se abra el dialogo de mover o copiar hojas a un nuevo libro y al aceptar se abre el dialogo de guardar como , después se exporta el archivo a PDF y por ultimo se cierra el libro nuevo creado,.......mi problema es que si le doy cancelar (por que me equivoque en algo) al dialogo de mover o copiar hojas, la macro sigue corriendo y me crea un caos, me borra vínculos etc..... como puedo detener la rutina si le doy cancelar a ese dialogo??, es posible??? Esta es mi Rutina: Sub ImprimeCot_10() Application.ScreenUpdating = False Sheets(Array("Forma10", "NP10")).Select Sheet…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.7k visitas
  13. buenos dias a todos , tengo un listado de numeros en la hoja 1 y me gustaria saber la cantidad de veces que estan esos numeros debajo de cada cuadro y si es posible me muestre que numeros se encuentran de acuerdo a la lista de la hoja1 debajo de cada cuadro le agradeceria de su ayuda ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 746 visitas
  14. Started by JoaoM,

    Lo que pasa cuando uno no da para la caja, eso me pasa a mi Tengo una macro en la hoja7, la cual influí al ejecutar algo contrario en la hoja. Dicha macro, tal como avisa si en la columna E de la hoja7, del 14 al 23 si insertas un numero maior que la existencia (hoja4) este manda un aviso. ¿Que necesito?, que al insertar en E de hoja7 un número IGUAL O MAIOR que la existencia en Hoja4, mande el mismo aviso. Al momento, esta para que solo si insertas maior, yo quiero que sea igual o maior Se puede hacer? pienso que si pero no lo logro. LA cosa creo que esta en la primera línea pero no doy con ella If lngvalorstock& < lngcant& Then 'CREO que por…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 683 visitas
  15. Started by jalbe,

    Hola a todos, Alguien me podría dar una idea de como podría hacer lo siguiente. En excel Estoy capturando datos de un dispositivo vía OPC. el caso es que necesito cada 5 minutos coger el valor actual y copiarlo en una celda y así repetitivamente por todo el día. algo así: 12:00 PM | Valor 12: 05 PM | Valor .....

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 668 visitas
  16. Estimados amigos. La ayuda que necesito de ustedes es la siguiente. Tengo un gráfico dinámico tipo stacked column. Deseo que cuando le de click en alguna de las barras del gráfico me capture en alguna celda el nombre o la informacion del cuadro donde di el click. Ya he logrado capturar el nombre de la persona con este codigo Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)Dim Eje As AxisDim NombreEje As String 'ElementID debe ser igual a xlSeries'La primera vez que se da clic en la gráfica se selecciona toda la serie'Esto se comprueba si el valor de Arg2 es -1 If ElementID <> xlSeries Or Arg2 = -1 Then Exit Sub 'Seleccio…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 838 visitas
  17. Captura datos en formulario para guardar en base de datos Buenos días, Tengo una hoja llamada “Formulario” en donde se debe seleccionar año y semana medio de una lista desplegable. En esa hoja también hay un campo llamado “Número de observaciones” en donde se debe ingresar un dato numérico manualmente. También tengo una hoja llamada “2012” y “2013” en donde se encuentra la base de datos de la información ingresada en la hoja “Formulario”. Los datos de las primeras semanas de la hoja “2012” fueron ingresados manualmente. Lo que deseo es hacer una macro para que después de seleccionar los datos requeridos de las listas desplegables y después de llenar el formulario con d…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.6k visitas
  18. Buen día Estoy trabajando en una tarea donde tengo que construir rostros y en una hoja de Excel pegar la imagen construida (controles imagen) con los datos insertados en el formulario. Me podrían ayudar? Gracias. Adjunto la imagen del formulario. Lo que me falta es capturar el rostro que ya formé y pegarlo en una hoja de Excel.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 5k visitas
  19. Started by gary rock,

    Buenas tardes Me podrias ayudar con una macro para captura, me estan solicitando una hoja de excel donde se pueda capturar la informacion, revisar y modificar una vez ya capturado, realice un archivo para captura pero como lo genere con la grabadora tarda mucho y solo sirve para capturar y no para modificar y revisar, adjunto archivo con la macro generado por grabadora. Actividades por sup.zip

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 570 visitas
  20. Estimados Amigos, Buenas noches, me encuentro realizando un archivo de nómina(rol de pagos), pero no sé cómo hacer para que de una planilla de datos(base de datos), agarre uno y cada uno de sus datos y los ponga en una plantilla informe resumiendo dichos datos. Hasta que no haya datos en la planilla y pare la instrucción. He intentado con For , Do Loop, pero no me funciona. Tal vez alguien me pueda ayudar, adjunto el archivo donde consta la hoja nómina y la hoja plantilla. De antemano muchas gracias. Saludos. Nomina Para Empresa.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 645 visitas
  21. Buenos días. Necesito a ver si podéis ayudarme con una duda. Tengo un Excel que recupera datos de una multitud de archivos Excel. Lo que hace es que busca según un listado en una hoja y abre los Excel que encuentra que su nombre comience por los dígitos del listado. pero estos Excel que abre tienen macros, eso ralentiza su apertura y cuando abre por ejemplo 10 libros se queda bloqueado todo el Excel. No se si algún método para abrir un Excel desde otro pero que no ejecute las macros del libro que va a consultar para que así no haya demora y no ralentice este proceso. Por ejemplo abrirlos en modo lectura o algo así. Yo uso estas líneas con el método Open...,…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 582 visitas
    • 2 seguidores
  22. Started by kikecolex,

    Tengo un archivo con el registro de ventas y un userform (adaptado de otro que encontré en la red) que me permite consultar las ventas al detalle y expedir la factura correspondiente. Así, en el cuadro 'Buscar por' escribo al menos un dato de la venta que quiero revisar y el botón de búsqueda toma los datos de la planilla, mostrando en el TextBox (FILTER) las coincidencias para el criterio de búsqueda. Lo que no sé cómo hacer es que en el evento OnClick sobre el TextBox FILTER me muestre los detalles de la venta en el segundo TextBox (UNAFAC), o sea, los productos, cantidad, valor unitario, valor de la compra, de la venta, etc., según los encabezados de las columnas. ¿Pue…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.9k visitas
  23. Started by dmorill,

    Hola, es mi primer pregunta en este sitio web, pero he leído muchas respuestas que me han ayudado a aprender mucho. Tengo un formulario que almacena datos de unos usuarios, y necesito que se mediante un botón se pueda tomar una foto (donde una web cam y también de otros dispositivos) y la guarde en el disco. Estoy trabajando en un formulario creado en excel y uso vba para la programación. Muchas gracias por adelantado.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  24. Hola, Estoy haciendo un programita en VBA y requiero capturar una Hr de inicio y una hora de Fin, quiero inicialmente validar que en el TextBox estoy colocando un valor en formato hh:mm y después hacer la operación aritmética para saber los minutos de diferencia entre ambas horas que puede ser incluso el valor en minutos de varios días. Minutos= HrFin-HrInicio Entiendo que la fecha deberá ir implícita en los valores que se capturen debido a que la hora de inicio puede ser la hora de un dia anterior o varios días anteriores, ejemplo: HrInicio 11:00 pm 24-dic-2012 HrFin 07:00 am 25-dic-2012 Agradezco de antemano su ayuda

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 843 visitas
  25. Started by federtuc,

    Buenas tardes, en un formulario cargo una imagen de un producto a un control Image y capturo en un label la ruta de la imagen, el Label1 queda de esta manera: C:\Users\fede_\Documents\NUEVA CARPETA\IMAGENES\INSUMOS\TECLADO GENIUS.jpg Hasta ahí todo bien, ahora necesito capturar solamente el nombre de la imagen sin la ruta en el Label2. En este ejemplo el Label2 tiene que quedar asi: TECLADO GENIUS.jpg Como puedo lograrlo?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.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 [email protected]

Información adicional: Encontrarás más información en la política de privacidad.