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

    Tengo esta macro y lo único que no he conseguido es que una celda se desbloquee SÓLO cuando en esa misma celda apareza lo siguiente "Ingrese la Agencia" este texto aparece debido a que en dicha celda hay una fórmula que consiste en un buscar y si consigue error coloca "Ingrese la Agencia" entonces hasta ahora llevo lo siguiente, el problema ela macro que realicé, excel no la reconoce automáticamente es decir cuando cambio en la celda b12 aparece "ingrese la agencia" no se desbloquea la celda b12 esto es lo que he conseguido hasta ahora muchas gracias! la primera macro la tengo ubicada en el objeto hoja presupuesto no se si debe estar allí o en el módulo tampoco se si hay…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 624 visitas
  2. Started by JuanCarlos,

    Buen Día Grupo necesito una ayuda para organizar este archivo .txt, actualmente me toca hacerlo con el Asistente para importar texto, no se si se pueda hacer una macro que recora fila por fila para lograr organizarlo, quedo pendiente si me pueden ayudar con esta accesoria: En este link esta el archivo. https://drive.google.com/…/0ByZZFXqKaBHYSXJ4THlBWkMtU…/view… Gracias.. Inventario.rar

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.6k visitas
  3. Mi pregunta es la siguiente necesito una macro que sea igual que el buscarv pero al encontrar la respuesta que salga las obsiones que se encontro a partir de una base de datos del mismo libro pero en otra hoja, me explico con la siguiente ejemplo: Hoja 1 celda A1 Celda B1 VALOR BUSCADO VALOR ENCONTRADO 2785741019 OSCAR RUPERTO AGUILA 1023109029 PERTEC S.A. 5746304011 PEDRO JOSE AVILES SALAS Al escribir yo el valor buscado xxxxxx en el valor encontrado que se despleble un lista de los resultados encontrados y seleccionar uno de ellos. No se si me deje de entender

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 538 visitas
  4. Started by esunpez,

    Hola como les va; Estoy generando una orden de producción para mi trabajo. He realizado de manera arcaica una código que me permite guardar los datos de la orden a una base de datos con un contador, mismo que ligue para llevar un folio consecutivo para después poder generar un reporte de ventas en una tabla dinamica. Sin embargo cuando quise hacer el guardado de la columna A10, A11, A12 etc... encontré la dificultad para poder guardar los datos y considero me pasará lo mismo con las otras columnas, ya que se sobreescriben los datos. Alguien que me pudiera ayudar en resolver este asunto o darme alguna otra idea de como generar el formulario. Anexo mues…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.2k visitas
  5. Started by HCHM,

    Hola buenas tardes! La siguiente macro la quiero utilizar para que me sume valores que voy capturando en determinadas celdas y los acumule en una especifica celda. Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("A2:K10"), Target) Is Nothing Then Hoja4.[A1] = Hoja4.[A1] + Target End If End Sub El problema donde me atore es que necesito que solo sume los valores que estoy capturando y no adicione los que ya estaban con anterioridad. por ejemplo: suponiendo que inicio todo de cero y la primer captura es de 100 en la celda "A2" y en la celda "K10" capturo 50 lo que da un total de 150 que es lo que aparecerá en la celda "A…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.2k visitas
  6. Started by Architecto,

    Buenos días. Tengo el siguiente Macro. col = 5: uFila = Cells(Rows.Count, col).End(xlUp).Row datos = Cells(1, col).Resize(uFila).Address On Error GoTo 0 Names.Add "sumar", "=if(" & datos & "=""INICIO"",row(" & datos & "))" Names.Add "final", "=if(" & datos & "=""FINAL"",row(" & datos & "))" Application.ScreenUpdating = False For n = 1 To [count(sumar)] fila1 = Evaluate("small(sumar," & n & ")") + 1 fila2 = Evaluate("small(final," & n & ")") - 1 grupo = Cells(fila1, col).Address(0, 0) & ":" & Cells(fila2, col).Address(0, 0) Cells(fila1 - 1, col + 1).Formula = "=sum(" & g…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 9.5k visitas
  7. Started by 96andres96,

    Buenas a todos. Tengo un archivo excel que nada mas abrirlo se abre un formulario de inicio de sesión. Mientras este formulario está abierto no se puede ver el archivo de excel, y una vez que se inicia sesión ya se puede acceder al libro. No obstante, la macro me genera dos problemas: 1.El primero de ellos es que cuando abro el libro, es decir, cuando doy dos clicks al archivo de excel, el excel se abre rápidamente, se cierra y ahí me muestra el formulario de inicio de sesión. Pero yo no quiero que funcione así. Yo quiero que al dar dos clicks al archivo de excel directamente se me abra el formulario sin que se abra el excel. 2. Si abro el archivo de excel…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 710 visitas
    • 1 seguidor
  8. Started by Mappanare,

    Buenas! Estoy realizando un optimizador de corte lineal y con el uso de Solver pensaba que iba a ser suficiente, pero por desgracia Solver solo me permite cambiar 200 celdas y mis necesidades son más complejas y necesito alrededor de 800 a 1500 celdas cambiantes. Existe alguna macro que pueda desempeñar la misma función que Solver, es decir eligiendo un máximo, un mínimo o un valor, con una serie de restricciones, con una función objetivó, pero con más de 200 celdas cambiantes? Me sería de gran ayuda. Saludos!

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 792 visitas
  9. Navegando en este fabuloso foro me encontre una macro que se ajusta a mis necesidades, gracias al señor LOGROASTUR, vaya! es un post algo viejo pero que al final es lo que tanto necesitaba, ahora bien, si alguien me pudiera ayudar ya que al abrir el archivo me tira un error de Error al cargar biblioteca DLL, y no me anda mas, se tira y se bloquea y solo con el administrador de tareas puedo deshechar el proceso, uso Office 2007, si alguien me pudiera orientar, quedo muy agradecido, el error me lo tira al principio, y no anda mas, si anda de buenas, me deja abrirlo pero al correrlo me tira error al principio donde envia un mensaje de pantalla... de agregar Microsoft Outlook…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 12.9k visitas
  10. Started by ramo07,

    buenas tardes amigos del foro, mi problema es el siguiente; baje esta macro y la adapte a mis necesidades, pero cuando escribo lo que requiero buscar ya sea por nombre, direccion y solicitud, tarda bastante en buscarla, como que titilea cada que escribe una letra, adjunto el archivo con la macro y deberas les agradesco cualquier ayuda que me puedan brindar ya que no domino bien las macros. buscador media t.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  11. Buenas, tengo un problema con 3 libros de excel, debo realizar cotizaciones pero el proceso es tedioso en cuanto a copy paste, no soy muy bueno en excel , y solicito su ayuda para crear una macro que me ayude en el trabajo, ya que en ocasiones tengo que quedarme de largo haciendo esto. la situacion es. tengo 3 libros de excel : A, B, C ; el libro A, contiene todos los productos que vendo, alrededor de 3000 productos y hay 12 columnas con los criterios de filtrado o caracteristicas, columnas A B C D E F G H I J K filas x x …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  12. Hola Grupo buenas tardes, Agradecería su colaboración con el siguiente caso: Tengo un archivo de Excel así: Hoja = Procesar: que contiene los botones con las macros Hoja = Data Tabla = Table1 en la hoja Data y contiene los registros o datos que proceso con las macros Botón = btnCargueInfo en la hoja Procesar Botón = btnFacturacion en la hoja Procesar Macro Botón btnFacturacion : Primero construí esta macro que amablemente un miembro de esta comunidad me ayudó a corregir en un par de errores que tenía. La macro hace lo siguiente Copia de la columna K a la AC, separa en columnas el contenido de AC en AC y AD y luego e…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 733 visitas
    • 1 seguidor
  13. hola Amigos!! espero se encuentren muy bien, En el archivo adjunto, encontrarán dos hojas: MB5L y BD. Debo transformar la información que se encuentra en MB5L y estructura como una base de datos en la hoja BD. para realizar esto en la mB5L debe se coger los datos que se encuentran en las columnas "i" a "n" copiarlos y pegarlos en las columnas "c" a "h" en la hoja BD. Adicional, se debe repetir la sociedad y la cta mayor por cada registro que se pega en la hoja BD. la soc se encuentra para el primer caso en la celda C5 y cta mayor en B6. Comparto una hoja de como debería de quedar el resultado ? si me pueden ayudar, se lo agradecería mucho!! MB25 - ej…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 463 visitas
    • 1 seguidor
  14. Hola Amigos, soy nuevo aquí pero aprendo un montón de sus respuestas. Queria consultarles si pueden ayudarme con el siguiente tema. Deseo traspasar un rango de datos de una columna definida, de varios archivos, que se van nombrando de distinta manera, y traspasarlos a un excel común, uno al lado del otro (de acuerdo a un numero de reporte correlativo) para lograr hacer un estadistico con dichos datos. Adicionalmente a esto, vale comentar que la columna de donde saco la informacion (de cada reporte con distinto nombre), es una columna que tiene una formula y que debo colocar en el estadistico como valor absoluto. Desde ya les agradezco.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 586 visitas
  15. Started by Majack,

    Hola amigos, Tengo lo siguiente en excel: |USUARIO| |Carlos | Mov.ventas |Mov.Compras| Mov.Salir | Mov.Cuentas | |Diana | Exp.Calcu |Mov.Ventas | |Pedro | Mov.Compras | Como pueden observar cada usuario tiene sus movimientos separados en columnas, lo que quiero lograr es una macro que me transponga los datos que tengo en columnas a filas por cada usuario, por ejemplo que quede algo así: USUARIO| Carlos | Mov.ventas | Carlos | Mov.Compras | Carlos | Mov.Salir | Carlos | Mov.Cuentas | Diana | Exp.Calcu | Diana | Mov.Ventas | Pedro | Mov.Compras | Podrían ayudarme por favor? :so…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 11.4k visitas
  16. Started by J arevalo,

    Buen dia Estoy adaptando una macro que sirve para exportar archivos Txt a excel, funciona de maravilla, es funcional cuando se trata de separar por coma y espacio, pero quisiera saber como le puedo adaptar para que me funcione con alguna condicional diferente a las antes mencionadas como seria "_" Esta es la parte de la macro donde tengo entendido se mueve para poder delimitar por coma o espacio y quisiera saber como delimitar por alguna carácter diferente a los que se tiene "_" With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _ mPath & iFile, Destination:=ActiveSheet.Range("$A$1")) .AdjustColumnWidth = True: .TextFileConsecutiveD…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  17. Started by Pirtrafilla,

    Buenas tardes. Me estoy liando con una macro y recurro a vosotros porque no le veo salida. En un proyecto que tengo hay una hoja que cambiando el año necesito que en un rango de celdas me aparezca por macro el último día del mes. Os envío un Excel, vereis que que hay un año y en la fila de arriba aparece el contador del mes. (1 enero, 2 febrero, etc...) pero en la celda de abajo necesito que si cambio el año me venga la fecha del ultimo día del mes, Por ejemplo, si pongo 2021, debajo del mes 1 aparezca 31/01/2021, si el mes es 2 aparezca 28/02/2021. A lo mejor os parece fácil, pero me estoy liando y mucho. Gracias de antemano!!! Moisés. Macr…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 840 visitas
    • 1 seguidor
  18. Hola a todos Hace bastante tiempo que ojeo el foro desde las "sombras", he aprendido mucho mirando posts y dudas de otra gente. He ido haciendo un excel para utilizarlo en campeonatos de fotografia submarina con algunas macros, carga automatica de nombre de imagen, apertura de ellas ,algunas combobox para listar especies de peces etc... Ahora quiero que copie en una carpeta las 5 fotos mejor puntuadas de los participantes, en este foro he encontrado varios post de macros para copiar archivos que he probado y funciona pero me gustaria desarrollarla un poco mas. Sub Prueba() Const DIR_ORIGEN = "[COLOR="red"]C:\ ... \CarpetaOrigen\[/COLOR]" Const DIR_DESTINO…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 735 visitas
  19. Started by Manuel TR,

    Hola a todos, si alguien me pudiera ayudar a modificar una macro que encontré por ahí, la cual consolida varias columnas en una sola, para ello primero se tiene que seleccionar el rango a consolidar y luego ejecutamos la macro y la consolidación se realiza justo en la columna siguiente del rango seleccionado y lo que deseo es que la consolidación se realice pero no en la columna siguiente si no en la tercera columna siguiente del rango seleccionado. Muchas gracias Sub rango_columnas() 'macro une varias columnas en una sola columna 'para ello primero seleccionamos el rango a unir 'y luego ejecutamos la macro Dim rango As Variant Dim i As Long…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.5k visitas
  20. Hola a todos; -Hoy no vengo a preguntar nada pero si a compartir un video donde muestro tres ejemplos usando variables permanentes. Bueno pedir primero permiso si se puede publicar en caso contrario borráis el post. Enlace del video: https://youtu.be/i5LBBzYeUY4 Con vuestro permiso también adjunto la macro. Espero que os guste y si veis que tiene algún error me lo comunicáis. Saludos Mvp.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 606 visitas
  21. Started by aSeik01,

    Hola me podrian ayudar a corregir esta macro, ya que que he puesto la condicion que no se ejecute por si hay valores vacios en 6 celdas y siempre se ejecuta, comparto codigo: Selection.ClearContents Range("C5").Select Selection.ClearContents Selection.ClearContents Range("C7").Select Selection.ClearContents Selection.ClearContents Range("C8").Select Selection.ClearContents Range("C23").Select Selection.ClearContents Range("C24").Select Selection.ClearContents Range("C39").Select Selection.ClearContents Selection.ClearContents …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 471 visitas
    • 1 seguidor
  22. Hola, Estoy haciendo una macro en Excel 2007 y me he atascado en lo siguiente. Tengo un bucle que recorre el rango A1:D50 de la hoja1 y va copiando y pegando en base a diferentes condiciones en el rango A1:D50 de la hoja2. La fila C de la hoja1 contiene cadenas de caracteres de la forma "0.000,00 EUR" y otros en la forma "0.000,00" . ¿Cómo puedo extraer sólo la parte numérica (esto es 0.000,00) y pegarlo en la columna C de la hoja 2 convertido a formato número en lugar de texto? Muchas gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
  23. Buenas, Estoy con una macro para subir archivos a una ruta de sharepoint directamente. Si lo que subo es una copia del libro actual o una hoja concreta no hay problema. Pero si lo que hago es seleccionar un archivo de una ruta para cargarlo desde la macro me sale ese error... he probado con varios tipos de ficheros, tanto de excel como pdf... con nombres sin caracteres raros y no consigo sacarlo, alguna idea? subo ejemplo con el código. Gracias de antemano Se me para en esta línea con ese error: FileCopy archivoSeleccionado, RutaDestino & Dir(archivoSeleccionado) ejemplo_foroAE.7z

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.1k visitas
    • 1 seguidor
  24. Hola a todos; -Estoy intentando añadir una imagen a los ajustes de impresión y no la carga. No sé donde puede estar el error. Y una duda, ¿como puedo insertar una línea a lo ancho de la hoja?. Lo que tengo ahora mismo solo la inserta a la derecha, podría hacer lo mismo con left y center pero me deja un espacio en blanco y la línea no queda continua. Private Sub btn_Imprimir_Click(): On Error Resume Next With ActiveSheet.PageSetup .PrintArea = ActiveSheet.UsedRange.Address If IsNumeric(Me.TextBox1) Then .Zoom = CDbl(TextBox1) .CenterHeaderPicture.Filename = "C:\Users\Via Norte\Pictures\1.jpg" .RightFooter = "__________________________"…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  25. Buenos días y mes a todos; Estoy intentando armar una macro que sobre unos datos me genera un gráfico. Lo que me gustaría configurar es el poder cambiar los nombres de las etiquetas que aparecen en la leyenda y que se generan predeterminadamente y también si es posible añadir un filtro. Adjunto macro de ejemplo. Saludos a todos. MGráfico.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k 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.