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

    Hola a todos: Días atrás alguien publico una consulta con este título, más o menos, lo cierto es que esta consulta ha sido eliminada. No obstante y dado que he desarrollado una solución, la subo por si es de interés para alguien. La macro permite seleccionar cualquier número de columnas en cualquier orden y copiarlas en la misma hoja o en una nueva. Como curiosidad, decir que genera el código VBA necesario para realizar la operación en un textbox, se puede copiar dicho código, o incluso, generar la macro en el Módulo1, por si se quiere utilizar la macro de forma regular sin tener que volver a escoger las columnas. Abrir el adjunto, y como siempre…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 826 visitas
  2. Buenas: Resulta que tengo un libro que es el principal que al ingresar en M5 una fecha Ej 04-02-2013 en el libro Principal y me toma solo el año y se va a buscar el libro 2013.xlsx a la ruta indicada quiero que en el momento que abra el libro 2013.xlsx me filtre los datos desde el 01-02-2013 hasta 28-02-2013 que estan en la hoja1 y los copie en la hoja12 que se llama Base datos del Libro Principal con los datos ya filtrados.. Libro en red 2013.xlsx Hoja1 A1 B1 01-01-2013 1 ... 15-01-2013 2 ... 31-01-2013 3 01-02.2013 4 02-02-2013 2 ... 28-02-2013 1 y asi va creciendo Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim l1 …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 825 visitas
  3. Started by CHICK,

    Hola a todos, antes que nada quiero aclarar que tiene poco tiempo que inicie en esto de las macros, pero actualmente eh creado un par de funciones para mi trabajo, sin embargo me gustaría saber si es posible agregar la leyenda que aparece debajo de los argumentos de la función al momento de utilizarla, ya había leído antes que es posible hacerlo con FunCustomize, sin embargo no tengo idea de como se utiliza, espero que alguien me pueda ayudar, de antemano muchas gracias. [ATTACH]40319.vB[/ATTACH]

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 825 visitas
  4. Hola tengo este archivo que adjunto, el problema es que no puedo hacer que elimine datos de la base que se seleccionan por rango o por usuario, en la pestaña de bajas de las cuales ya tengo dos, pero con ninguna queda, se bloquea y no ejecuta lo que quiero es que solo debe borrar el rango seleccionado, espero contar con su valioso apoyo para encontrar una solucion para que borre solo los datos de la base de datos que se seleccionan en el rango o en el usuario Folios MO.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 825 visitas
  5. Started by bam10,

    Hola que tal quiera ver si em podrian decir como el hago toye n proyecto y quiero poner un boton que al precionarlo me muetre los libros en otra ventana se los agradeciria mucho si me ayudaran cone ste pequeño problema

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 825 visitas
  6. Estimados amigos, Me gustaría poder reemplazar funciones específicas en las celdas H3:H50 e I3:I50 por códigos VBA. La celda H3 depende de la celda I3 y viceversa. En el ejemplo ( las celdas en amarillo)me da referencia circular, El resultado esperado esta en las celdas en verde. Si la celda G3 esta vacía, también las celdas H3, I3 me gustaría que estén vacías y al completar una de ellas, se autocomplete la otra con su fórmula especifica respectivamente. Saludos Cordiales. Reemplazar Funciones por códigos VBA.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 825 visitas
  7. Buen día Señores del Foro Tengo una planilla en la cual hay una macro que me llena en forma secuencial las filas, de acuerdo a criterios puestos en las celdas "D2 D3 y D4", necesito una ayuda con una macro que me elimine los Datos de las columnas rellenadas, para lo cual debería de seleccionar dicha columna.. tengo en la misma planilla una macro que me elimina los datos, pero solamente de la columna "A".. Desde ya agradecido, adjunto planilla Numeracón Secuencial.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 825 visitas
  8. Hola a todos...quisiera saber como hacer para que esta macro me busque palabras que se encuentran dentro de una cadena de texto. Ej. Combustible - Estación de Servicios Internacional - RAMIREZ GALEANO MILCIADES VIDAL......es decir escriba "Estación o Servicios o Vidal y que me lo encuentre He probado de diferente manera y no pude dar con el...creo que mi problema está en esta linea....... palabra = VBA.Format(Me.TextBox2, "*") Esta es la macro que dispongo Private Sub CommandButton2_Click() Dim palabra As String With Range("E1:E" & Range("E" & Rows.Count).End(xlUp).Row) palabra = VBA.Format(Me.TextBox2, "*") Set fil = .Find(pala…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 825 visitas
  9. Started by agua,

    Hola, he estado buscando por el foro algún tema similar al problema que tengo pero no he conseguido encontrar nada. Mi duda es la siguiente: tengo una hoja Excel donde hay un botón que al pulsar aparece un userform. Cuando la hoja esta minimizada, si quiero que aparezca el userform debo maximizar la hoja y pulsar a continuación el botón. Lo que me gustaría es que al maximizar la hoja, automáticamente apareciese el userform y la hoja quedara minimizada en la barra de abajo de la pantalla. ¿Existe alguna función con la que podría hacer esto? Gracias. Libro1.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 825 visitas
  10. Started by ndepablo,

    Buenos días, Creo que este es un tema estrella pero no he encontrado ningún tema cerrado que tenga que ver con mi problema. Tengo un archivo excel, al que tienen acceso distintos usuarios. Cada uno entra con un usuario y contraseña. Dentro de cada usuario hay personalizada una vista, con columnas ocultas, bordes marcados, filtros, etc. todo esto está hecho con macro además de tener formatos condicionales y algunas fórmulas. La idea es que se pueda editar por varios usuarios simultáneamente. He probado a compartir archivo en red y todo eso pero me da problemas y no mantiene la personalización... No se si habría alguna solución a este problema o alguna alternati…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 825 visitas
    • 2 seguidores
  11. Started by Pedro Alonso,

    Hola a tod@s. Tengo el siguiente código. Sub Auto_Open() OcultarHojas End Sub Sub OcultarHojas() Dim Ws As Worksheet For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> ActiveSheet.Name Then Ws.Visible = xlSheetHidden Next Ws End Sub Funciona bien, abre en la última hoja activa. Pero...... los vínculos de esta a las otras (50) no funcionan, ¿ Que le falta al código ? Salu2

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 825 visitas
    • 2 seguidores
  12. Started by JAVISHALOM,

    Un gran saludo.. Tengo una macro que filtra de 120 preguntas, las que mayor puntaje hayan obtenido, estaba funcionando perfectamente con la hoja protegida. Pero de un momento a otro comenzó a mostrar error y no funciona. Adjunto la macro, agradezco de antemano la ayuda para solucionar este impase... Sub FILTRO () Dim RNG As Range Set RNG = Active Sheet.Range("Xxx") RNG.AdvancedFilter Action:=xlFilter Copy, CriterialRange:=_ Active Sheet.ListObjects("Tabla1").Range, _ copytorange:=("B180"), Unique:=False Sheets ("Xxx").Select End sub

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 824 visitas
  13. Saludos, tengo este macro Sub nuevos() Dim ultimafila As Long Dim Origen As Worksheet, Destino As Worksheet Set Origen = Sheets("FORMATO") Set Destino = Sheets("Hoja2") ultimafila = Sheets("Hoja2").Range("B20000").End(xlUp).Row ultimafila = ultimafila + 1 PERO POR ESTE LADO QUISIERA VERIFICAR SI LO QUE SE VA A INSERTAR EN LA CELDA K12 DE Origen YA EXISTE EN LA COLUMNA D DE Destino, PARA NO REPETIR LOS VALORES, si no esta repetido ps que inserte los siguientes datos, si no q muestre un mensaje de error y no ingrese los datos. Destino.Range("B" & ultimafila) = Origen.Range("K10") Destino.Range("D" & ultimafila) = Origen.Range("K12") Destino.Range("E" &amp…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 824 visitas
  14. Started by kamileo1,

    Buen dia requiero de apoyo lo que pretendo hacer es generar un código basado e dos celdas teniendo por ejemplo A1 China y B1 478 quiero que si el nombre en A1 es china en la celda C1 apaesca [China, (valor de B1)], respetando los paréntesis y la ultima coma el resultado final seria [China, 478], agradeceré cualquier ayuda saludos

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 824 visitas
  15. Hola a Tod@s, Espero me puedan ayudar,... al intentar insertar una imagen a un formulario en tiempo de creación por medio de VBA, me dice que el objeto no esta disponible. Sub CreaForm() Dim MiNewForm As Object Set MiNewForm = Application.VBE.ActiveVBProject.VBComponents.Add(3) With MiNewForm .Properties("Height") = 300 .Properties("Width") = 300 .Name = "Prueba" .Properties("Caption") = "Prueba_LBV" .Properties("BackColor") = RGB(0, 255, 0) .Properties("Picture") = ActiveWorkbook.Path & "\Imagen1.jpg" ' .... AQUI ME SALTA EL ERROR? .Properties("PictureSizeMode") = 1 End With End Sub …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 824 visitas
    • 1 seguidor
  16. Started by GildardoVela,

    Hola amigos, estoy haciendo una base de datos en acces la cual quiero ingresar los datos desde un formulario en excel ya tengo le codigo, pero al correrlo me marca Error 13: No coinciden los tipos En esta linea es donde marca el error: Set reg = bd.openrecordset("select * from analisis", dbOpendynaset) Gracias por su ayuda!!

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 824 visitas
  17. Started by mariosnash,

    Buenas... escribo para pedirle ayuda sobre mi situacion. Tengo un libro de excel que mediante formulas se actualiza en tiempo real estirando dichos datos de un sistema. Lo que estoy buscando es poder copiar solamente los valores que estiran las formulas y crear un nuevo libro con dichos datos y que este libro sea actualizable tambien en tiempo real, es decir cada un segundo aproximadamente. He leido bastante informacion relacionada en el foro, pero no lo pude resolver solo, si alguien me podria explicar como llegar a resolverlo se los agradeceria un monton. Muchas Gracias prueba.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 824 visitas
  18. Started by Hector Suarez,

    Saludos amigos foristas, recurro a su apoyo de un archivo el cual consta de dos hojas, y se carga mediante un userform que contiene 12 columnas, de la columna 6 a la 12 contiene números, al activar el userform, me carga la información de la Hoja1, y suma las columnas de la 6 a la 12, el error que se origina es que al filtrar por Nombre de Emisor, las columnas 11 y 12, no aparecen los números y no filtra los subtotales pertenecientes al Nombre del Emisor, sino que suma el total de los números en dichas columnas, ¿podrían indicarme o proporcionar información para corregir este error?, de antemano les agradezco mucho. CONTROL 2021.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 823 visitas
  19. Started by stleon,

    Buenas noches a todos!! Tengo un archivo en Excel con unos 2500 contactos (nombre y apellidos, teléfono móvil, TFNO fijo y el email. Lo que necesitaría es poder abrir dicha carpeta de contactos en Excel y poder crear diferentes grupos de cintactos(150 en cada carpeta). Lo ideal sería que crease automáticamente carpetas con 150 contactos en cada una y que se pudiesen guardar fuera de dicho Excel. La idea es poder luego importarla por carpetas al outlook (cada carpeta de 150 contactos). Gracias amigos

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 823 visitas
  20. Buena noche a todos: Tengo una macro que me compartió un amigo desde hace varios meses, pero no tuve la oportunidad de probar, sin embargo, ahora que lo necesité, traté de utilizarlo pero me arroja un error de #¡VALOR! Esta macro en teoría calcula el área de un polígono usando angulos azimutales y distancias. Para ello selecciono de primero el rango de las distancias, luego el rango que contiene los ángulos azimutales, pero como resultado obtengo el mensaje anterior. Adjunto el archivo de ejemplo, para ver si alguien pueda apoyarme. Saludos. Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 823 visitas
    • 1 seguidor
  21. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Hola, no puedo mandar el programilla porque "pesa mucho" pero si alguien puede ayudarme, me pasa una cosa muy rara. Tengo un programa que funciona perfectamente, he hecho una macro para "Borrar" y me pone unas formas al color que yo quiero, me borra el contenido de celdas, al final del código tengo Range("A1").Select y no va ahí va a la celda F22, lo he probado de varias maneras y siempre igual, incluso si voy a cualquier celda de la Hoja (Excel) al dar a la macro "Borrar" me lleva a esta celda en vez de a la de A1, alguien me puede ayudar ? PD esta celda F22 es una celda activa en otras partes del programa, pero si a mi macro le digo A1 debería ser A1 …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 823 visitas
  22. Hola tengo unas conexiones con una base de datos. Mediante consultas a través de ODBC que realicé con la opción microsoft Query, y donde se ve perfectamente la conexión. Después intento en ejecución que me haga una determinada consulta sobre esa conexión, pero siempre me vuelve a pedir que indique base de datos, y en una segunda pregunta que indique el usuario y la contraseña. Lo que me resulta extraño es si este proceso lo planteo de manera manual y en propiedades de la conexión le pongo la SELECT de Mysql directamente, entonces si funciona sin solicitar credenciales. Pongo el código que uso para conectar con la BBDD. Sub actualiza_datos_T(NOMBRE_CONEXION, SQL, NOMB…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 823 visitas
    • 1 seguidor
  23. Hola les expongo la situación: realice una base de datos en Excel 2007 con 2 botones de comando ActiveX, cada uno ejecuta una macro (uno envía un mail automático y el otro botón abre un archivo de Excel con una plantilla para imprimir) Esta base la tengo en una carpeta de red y activo el "compartir libro" para que varios usuarios modifiquemos al mismo tiempo. En las PC que tienen instalado Excel 2007 SI pueden ejecutar los Botones de Comando (macros de enviar mail o imprimir). El problema es con usuarios que tienen Excel 2010, ya que al abrir el libro compartido no pueden ejecutar las macros (no pueden darle click a los botones). Lo curioso es que si usan la base d…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 823 visitas
  24. Buenas amigos foristas Tengo una macro la cual toma los datos de una hoja y con eso se llena una base de datos de una aplicacion que tenemos, en la actualidad coloco For i = 4 To 8 session.findById("wnd[1]/usr/cmbRF02D-KTOKD").Key = objSheet.Cells(i, 35) session.findById("wnd[1]/usr/ctxtRF02D-BUKRS").Text = objSheet.Cells(i, 36) Next i Lo que deseo es que en la macro si existe informacion en la fila siguiente ejecuta el proceso sino pare Agrdezco su colaboracion Fernando Trujillo

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 823 visitas
  25. Started by jjpprr,

    Hola amigos de ayuda excel, necesito su ayuda con un tema que puede resultar simple pero que no e podido encontrar solucion. Tengo un problema al hacer una seleccion en un combo de una pagina web a traves de una macro de excel, el problema de este combo es que posee un onchange para cargar el segundo combobox. el codigo que utilizo funciona correctamente con los text pero e buscado de distintas formas y no e podido que me carge el segundo combox. Set ie = CreateObject("InternetExplorer.application") ie.Visible = True ie.Navigate ("https://www.paginaweb.com") Do If ie.ReadyState = 4 Then ie.Visible = True …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 823 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.