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

    Hola amigos. por favor si pueden darme una ayuda. es q con la macro que va en el libro adjunto, puedo iserrtar dos columnas cada 8 especies , en cuyas columnas insertadas quiero que se copie los valores de las primeras dos columna y no sé como hacerlo. Los resultados que se busca figura en la hoja "Modelo". Gracias por anticipado. Copia celdasautomaticamente.zip

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 643 visitas
  2. Hola buenas tardes: estoy creando un formulario para registrar datos pero en diferentes hojas. Dentro del formulario ya he agregado un campo para la seleccion del nombre (nombre de la hoja donde debo ingresar los datos capturados) y funciona bien pero dentro de cada hoja en la columna A tengo los consecutivos actuales, este corresponde al ultimo registro. con la funcion de: Me.txtCons = Application.WorksheetFunction.Max(Range("A:A")) + 1 , puesto en: UserForm_Activate me mostraba el ultimo consectivo de una sola hoja. Pero ahora que he agregado el cambio de hojas ya no lo toma. Mi necesidad seria que al cambiar el nombre de la hoja me diera e…

    • 1

      Reacciones de usuarios

    • 6 respuestas
    • 643 visitas
    • 2 seguidores
  3. Started by tosimo,

    hola a todos, soy nuevo en este mundo y necesito que me echéis una mano si es posible me explico Tengo creadas unas formulas para sacar el promedio ahora me funcionan perfectamente pero las tengo separadas y me gustaría poder juntar todas en una misma celda si es posible por eso solicito la ayuda de ustedes, les adjunto archivo. Gracias y un saludo Promedio.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 643 visitas
  4. Started by farah,

    Hola de antemano muchas gracias por tu ayuda, estoy que me rompo la cabeza tratando de realizar el siguiente macros: En una hoja llamada "registro" tengo todos los datos, en la columna b (turno), columna c (fecha), columna d(cota1), columna e (volumen1), columna f (cota2) y columna g (volumen2), como son varios datos quiero que estos al momento de poner un dtpicker inicial y un dtpicker final, solamente se extraigan los datos comprendidos en dichas fechas y que se almacenen en otra hoja llamada (Registro). A su vez tengo dos turnos A y B, en los cuales se colocan diferentes datos por ejemplo: Turno Fecha Cota 1 Volumen1 cota2 VOlumen2 A 01/01/01 1000 300 2345 10…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 643 visitas
  5. Buenas noches. He adaptado la esta macro para conseguir que realice una búsqueda de archivos, en función de los valores de celda y tras recorrer los directorios existentes, guarde una copia de los archivos encontrados en un nuevo directorio. Aparentemente la macro funcionaba bien, hasta que me percate de que no estaba teniendo en cuenta los duplicados. Pero no sé como hacer para conseguir guardar también archivos duplicados. Sí, alguien esta interesado en ayudarme. Os dejo un ZIP con el libro Excel que contiene la macro y tres carpetas que uso para las pruebas. Gracias de antemano. Saludos. Prueba_Buscar_LS.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 642 visitas
  6. Started by edizba,

    Hola buenas tardes tengo un archivo con formulas que se realizan desde Vb, realiza bien los calculos pero solo para una fila necesito una macro que me realice el calculo para una cantidad N de filas insertadas y cambian los valores en base al valor insertado en una columna Adjunto archivo, Hoja principal "Resumen" 1.-Inserto cantidades desde "B25" hasta "B" 2.-Al ejecutar el boton Calcular solo me calcula la Fila 25 3.-quiero que al momento de Calcular haga los mismo calculos que la fila 25 4.- cambian las cantidades en base al valor de "B" muchas gracias. 2013 Excel.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 642 visitas
  7. Started by KRUGERS,

    Hola a todos: Necesito ayuda con un archivo que tengo, con dos columnas: la columna A con CLAVES y la columna B con FECHAS de todo un año. Con una macro, asigno en la columna C el Nº DE SEMANA de la fecha de la columna B (calculada para Excel 2007). Lo que quisiera es que copie todas las filas, incluida la cabecera, hasta que encuentre una fecha del mes de diciembre del mismo año que tenga como nº de semana el 1 (lo que querrá decir que ya es una semana del año siguiente), las pegue en la hoja2 y las del mes de diciembre con nº de semana 1 las copie y pegue en la hoja 3. Por ejemplo, en el archivo que adjunto necesitaría que copie desde la fila 1 hasta la 8…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 642 visitas
  8. Started by vrfreres,

    Buenas Estimados, Tengo un archivo Excel para generar cotizaciones en diferentes hojas, con ayuda de unos expertos pude lograr que me imprima varias hojas del Excel desde un formulario que se encuentra en la primera hoja, mi problema es que quisiera que las diferentes hojas de la cotización se impriman una debajo de otra de acuerdo a como da el tamaño de la hoja (A4) y no por separado como actualmente lo hace, además quisiera que imprima un encabezado que quiero agregarle en otra hoja, no puedo ponerlo ahora porque lleva una imagen y sería muy pesado, de todos modos si logró hacer lo primero estaría muy feliz. Adjunto el archivo para mejor visualización. Muchas Gracias …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 642 visitas
  9. Started by Pirtrafilla,

    Buenas. Tengo un programa para enviar nóminas automatizadas desde el Excel, pero se me ha ocurrido que antes de poner el texto del cuerpo del correo podría añadir una introducción, por ejemplo pondría A/A: JOSE LOPEZ GARCIA. Para enviar el correo tengo este código en un bucle y funciona perfectamente, solo que no me añade la introducción. Pongo solo esta parte del código donde envío correos por si podríais decirme si he de añadir algo más para que el código funcione. 'Enviamos por mail Set OutMail = OutApp.CreateItem(0) On Error Resume Next spie = "Gracias." With OutMail .To = destino .CC = copia .BCC = "" .Introduction = "A/A: …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 641 visitas
    • 1 seguidor
  10. Estimados Expertos buenas tardes: Estuve trabajando en una tabla dinámica que se actualiza mes a mes, según le indico en la segmentación de datos. Pero quisiera que se ejecute una macro al actualizar esta tabla dinámica, ¿con que evento puedo actualizarla? He usado el Evento Worksheet_SelectionChange(ByVal Target As Range) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim NomBRE As Workbook, AUx As Integer If Not Intersect(Target, Range("R9")) Is Nothing Then AUx = ContarNPC(Month(Range("O3"))) Range("S9").FormulaR1C1 = "= " & [AUx] & " / R[3]C[1]" End If End Sub Pero a pesar que la celda R…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 641 visitas
    • 1 seguidor
  11. Started by J.J,

    Hola, Necesito Ayuda, Tengo Un Programa De Reporte En Mi Trabajo La Macroos Funcionaba Por Nombre De Equipo Y Tenia Un Hipervinculo Que Me Llevaba Al Formulario De Reporte, Lo Que Necesito Es Cambiarlo, Tal Es Asi Que Cuando Yo Ingrese Un Codigo O Tag, Y Al Darle Clik En El Hipervinculo Me Lleve A La Hoja De Datos Que Quiero , En Resumen Comparar Los Textos Y Con Hipervinculo Ir A La Pagina Correcta.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 641 visitas
  12. Estimados amigos: En esta oportunidad, quisiera su ayuda en lo siguiente: Tengo un cuadro que llenar, pero necesito que al posicionarme en una celda me aparezca una tabla con un listado y con opción para buscar para seleccionar el código que le pertenece y se pegue en la celda que eliga. Y tbn que me ayuden con otra formula para concatenar de manera automatica no quiero que aparezca ese contenido de formula concatenar sino que solo al dar click se concatena solo en la columna de determinada celda que tenga información. Les adjunto mi archivo y imagen para que lo puedan entender mejor. Mil gracias!!!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 641 visitas
  13. Started by roa30,

    Hola a todos, estoy nuevamente trabada en algo que pareciera facil pero me ha estado complicando la vida absoluta... tengo el siguiente codigo, que lo que DEBERIA HACER, es por cada celda que este vacia "celda.Offset(0, 36)= empty" me ejecute = hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5). Lo unico que LOGRE es que me haga esa funcion en la ultima fila... no se como hacerlo para cada celda vacia ?. Porque la idea es que la hoja se va a ir cargando con nuevos valores, y las celdas que estan vacias significa que aun no hice el proceso fechaJuliana...Perdonen mi igorancia total pero probe varias formulas. y la unica que me ha funcionado parcial…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 641 visitas
  14. Started by efop,

    Hola a todos!! La situación: Un archivo es abierto por un usuario de la red, y yo a la vez intento abrirlo mediante código. En este caso excel muestra un mensaje que refiere a que "el archivo está siendo usado por otra persona...", y da opciones de abrirlo como de "solo lectura" y "notificar" cuando esté disponible. La duda !!: No se como evitar que excel muestre ese mensaje, y así poder controlarlo yo mediante código. Desde ya, gracias !!!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 641 visitas
  15. Hola, me surge un problema y quisiera compartirlos para ver si tengo solución. Tengo un excel que me servirá de resumen de datos recogidos de otros exceles "que esten activos" En el excel resumen iré incrementando la columna A con diferentes datos (en este caso de ejemplo nombres de personas). La macro debería buscar en las diferentes pestañas de los libros activos si está o no y en el caso de encontrarlo traer el valor de una determinada columana (siempre la misma) al excel Resumen. Los nombres en los excel que contienen los datos no siempre estarán ordenados de igual manera por ello la macro debería buscar por coincidencia y no por posición. Adjunto un excel dond…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 641 visitas
  16. Started by helard,

    Estoy haciendo una macro y al colocar esta formula =COINCIDIR(DERECHA(C8,1),Tabla!$F$2:$F$6,0) me sale error pero no entiendo porqueee alguien porfavor que me responda

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 641 visitas
  17. Started by jesuspg,

    Hola compañeros de nuevo, Tengo un problema con la siguiente fórmula: Function VentaConDescuento(ByVal fkProducto As Range, ByVal fkPedido, ByVal descuento As Range) As Double ' Limpiamos los errores anteriores... Err.Clear ' Tratamos los errores... ' On Error resume next ' Declaramos las variables... Dim productos As Range, pedidos As Range Set productos = ThisWorkbook.Sheets("PRODUCTOS").Cells(1, 1).CurrentRegion Set pedidos = ThisWorkbook.Sheets("PEDIDOS").Cells(1, 1).CurrentRegion Dim precioCompra As Double, precioVenta As Double precioCompra = Application.VLookup(fkProducto, productos, 5, False) precioVenta = Application.…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 641 visitas
  18. Started by Cariñosita,

    Estimad@s Cuando ejecuto una libro hecho en macros, no me permite ejecutar la macros ;me sale este mensaje "Debido a su configuración de seguridad, se han deshabilitado todas las macros. Para ejecutar macros es necesario que vuelva abrir este libro" . Habilite los permisos en el centro de confianza , desconecte los firewall y el antivirus , hasta desconecte el internet .. Pero a pesar de ello sigue saliendo ese mensaje. De ante mano Gracias por su aportes

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 641 visitas
  19. Started by JovenCurioso,

    Buenos días, Tengo un formulario en VBA en el cual el usuario introduce 32 valores y el programa compara si hay una diferencia entre algunos de ellos mayor de diferentes parámetros. Tengo una función que pinta el fondo de las textbox de rojo o amarillo cuando se superan estos parámetros. Funciona perfectamente, pero cuando borro uno de los valores introducidos (por ejemplo porque me he equivocado al introducirlo) me salta el error 13 'no coinciden los tipos'. Soy consciente que es porque pasa de comparar dos números a un numero y un "null" pero simplemente quería saber si la función puede esperar a que haya un valor para compararlo y así no tener que rein…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 641 visitas
  20. Started by j.salas,

    Buenas tardes, Use el grabador de macros para que actualice automáticamente una tabla relacionada, me mostró este código: ActiveWorkbook.Connections("Consulta - Grupos").Refresh Lo puse en un módulo para que al hacer click en un botón me ejecute ese módulo, pero me lanza un error: y no me permite actualizar, que podría estar sucediendo? o hay algún otro código que me permita actualizar una tabla relacionada específica? lo mismo para actualizar una tabla dinámica relacionada específica. Muchas gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 641 visitas
    • 1 seguidor
  21. Buenos días, Me gustaría que me ayudaseis en una duda que tengo. Os explico, tenemos una base de datos con herramientas (HOJA BASE DE DATOS) en la que hay información de cada herramienta y otra hoja de REGISTRO,en la que se van metiendo las salidas de herramienta, lo que quiero hacer es que cuando se meta una salida de herramienta en REGISTRO, automáticamente me vaya sumando todas esas salidas en cantidad retirada por cada herramienta y así saber que cantidad disponible tenemos. Muchísimas gracias . Un saludo HERRAMIENTAS.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 641 visitas
  22. Started by darkstars9976,

    Buenas tardes estimados, espero y me puedan ayudar con este dilema se trata de lo siguiente. tengo un archivo "01 PCP.xlsx - v02 - copia" el cual entre otras hojas contiene tres principalmente, y son: "Proy.-Comer" - "BD_Recetas" - "Mat_Stock" En la hoja "Proy.-Comer" tenemos en color naranja las semanas del año, y en color amarillo los productos, y en plomo las cantidades (que se digitan manualmente). ***Lo que necesito es que en la hoja "BD_Recetas" , a partir de la celda "M65" Sume la cantidad correspondiente a la semana según el producto de la columna en color amarillo "L10:L193" Y sus cantidades (celdas de color plomo), y lue…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 641 visitas
  23. Started by r1004,

    Todos los excell en una misma carpeta. Unicamente a cambiar una celda de todos los excells de la carpeta. La "BC30" es una celda combinada. Condicional: Si el valor actual de BC30= "hogares" cambiar el valor de la celda por "infiernos" Si el valor actual de BC30= "alquileres" cambiar el valor de la celda por "placeres" Si el valor actual de BC30= "compartir" cambiar el valor de la celda por "genesis" En la celda CB30 solo pueden existir estos valores:" hogares", "alquileres" , "compartir" Y siempre se quieren cambiar por estas correspondencias: Alguien sabe como hacerlo de forma masiva?

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 640 visitas
    • 1 seguidor
  24. Started by abraxas1983,

    Hola, buen dia. Espero me puedan apoyar a crear una funcion que me permita obtener el costo de un servicio en cuanto se ingrese el nombre de este en la celda. Adjunto archivo con los nombres y costos de cada servicio. Book3.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 640 visitas
  25. Started by MAILCAR,

    Buenos días, Necesito macro par crear una copia de seguridad de un libro y el contenido de una carpeta en otra carpeta y que nombre la copia con la fecha del sistema. Muchas gracias

    • 0

      Reacciones de usuarios

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