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. Buenos días, ¿Me podríais decir cómo se puede extraer a una celda el contenido que se selecciona en un combobox personalizado, que está colocado en la cinta de opciones? He encontrado mucha información cuando el combo está en una hoja, pero en la cinta de opciones, no. Muchas gracias

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.5k visitas
    • 2 seguidores
  2. Buenos dias , quisiera saber si es posible mediante la funcion grabar macros realizar una macro utilizando el autofiltro de excel para poder imprimir listados actualizados un determinado dia o si hay otra manera. ejemplo que con un boton me imprima las personas que estan al dia. o vencidos o por vencer.adjunto un archivo con diferentes estados con filtrar como ejemplo muchas gracias consulta macro filtro.xlsx

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.4k visitas
  3. Started by pinoji,

    Hola colegas, buenas tardes y que tengan una excelente salud. Tengo un pequeño proyecto para controlar los comensales, pero necesito una hoja para llevar de manera manual las incidencias. ya tengo hecho todo, excepto que necesito en la Hoja Modelo, en la columna E me ponga una linea en la parte inferior de las celdas (Para Firmar), siempre que existan datos. Yo tengo este código: Private Sub BtnImprimirM_Click() Dim X As Long Application.ScreenUpdating = False Hoja10.Range("A4:D5000").Clear Worksheets("BD Alumnos").Range("A4:D5000").Copy Worksheets("Modelo").Range("A4") With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .P…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
    • 3 seguidores
  4. Started by shion,

    Hola que tal soy nuevo en el foro y la verdad es que hace tiempo que necesito solucionar este tema.... por ejemplo los datos estan en la base de datos y lo que necesito del otro lado. [TABLE=width: 768] [TR] [TD=colspan: 4] base de datos [/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD=colspan: 4]datos que necesito[/TD] [/TR] [TR] [TD]Fecha[/TD] [TD]Cuit[/TD] [TD]Importe[/TD] [TD]percepcion[/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD][/TD] [/TR] [TR] [TD=align: right]01/06/2012[/TD] [TD=align: right]30999999999[/TD] [TD=align: right]100[/TD] [TD=align: right]5[/TD] [TD][/TD] [TD][/TD] [TD][/TD] [TD=align: …

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
  5. Started by WIFFREE,

    Buenas tardes. Tengo una plantilla con la que controlo todas las facturas de mi empresa . Realice una macro para que comprobara si la factura que intento registraR estaba ya en los listados. El caso es que lo hace bien hasta cierto punto. Por un lado no se porque si el numero de factura es muy pequeño del estilo de "1" ó "20" ó "100", lo confunde con cualquier otra factura que contenga esas cifras y la da por registrada (hasta ahora lo solucionaba poniendo un pequeño guion al final del nº de factura, pero no es una solución factible.) Por otro lado si varios proveedores tienen el mismo número de factura también la da por registrada. No se como hacer para que al mismo…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.5k visitas
  6. Started by Alcor,

    Hola, Estoy intentando hacer una rutina que me haga lo siguiente: Tengo un textbox multilínea y quisiera que al pulsar un botón se me insertara en el textbox, justo en el punto donde está el cursor, un separador de listas muy simple, por ejemplo *--------------*, pero no lo consigo. El problema que tengo es que al hallar la posición del cursor NO me tiene en cuenta los saltos de línea que tiene el texto original del textbox hasta esa posición del cursor Os paso un ejemplo muy simple de lo que quiero, es parte de un programa más complejo, pero con este pequeño fragmento de código es suficiente Muy agradecido de antemano separador.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.5k visitas
  7. Started by ArmandoR,

    Buenos compañer@s, a ver si me podéis ayudar con esta macro. En esencia se conecta al AS400 de mi empresa (previa vista generada) y me trae datos a través de una consulta SQL. La macro funciona bien y no tengo problemas. El tema es que no sé trabajar recorriendo el RECORDSET y me toca ingeniármelas con un bucle Do Loop para que me vaya generando los datos que quiero. Os detallo la macro y las celdas donde me trae los datos. Lo que me gustaría es poder establecer el rango("C5:C18") de alguna forma en el RECORDSET para que lo hiciese de golpe y no recorriendo celda a celda. Asimismo, si por ejemplo, quisiese ampliar el rango de la matriz de datos y meter, por ejemplo, en D…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 5.9k visitas
    • 1 seguidor
  8. Started by JoaoM,

    Hola buenas noches necesito linea para agregar a macro para que de el formato moneda que a las celdas de una coluna, siempre que introdusca los valores desde una macro de un form. En un TxtBox de un form al escribir los valores este me prsenta el formato moneda Ej. Bs. 000.000,00 Este formato quiero que siempre que pase datos por medio del form a la hoja (en columna D) me pase el mismo formato del textbox a la celda de columna D. El pase de datos es con un buton en el form para que introdusca todos los datos de los textbox a la hoja

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 5.7k visitas
  9. Started by robgomezs,

    Saludos amigos del foro tengo un gran dilema que no puedo resolver, se trata de un listbox que carga datos de una hoja de más de 40 columnas y una infinidad de filas, para ello conseguí un listbox que me carga los datos, el problema es que no me carga la cabecera sobre los datos, lo cual no quiero que sea con textbox, sino que los cargue de la tabla de Excel y sea fija, el otro problema es q habilite el listbox para q filtre datos, lo cual hace pero me limita la cantidad de columnas mostradas al aplicar el filtro, y yo quiero mostrar al aplicar el filtro de “mes”, desde la columna “A hasta la AI” 35 columnas con todas sus filas. Por favor acudo a Uds. porque sé que me a…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.1k visitas
  10. Buenas tardes comunidad del Foro por solicitar su valiosa ayuda con las siguientes inquietudes. 1. Ejecuto una macro lista de validación, datos de la hoja CAMPO NORTE. Al cerrar el libro y abrirlo nuevamente me da un error Y se me va creando un nuevo ThisWorkbook en el VBAProject 2. Del resultado que obtengo en Q3 hoja INGRESO PRUEBA me compare con el valor de la hoja CAMPO NORTE columna J según el nombre de la lista de validación escogido en C3 y en W3 de la hoja INGRESO PRUEBA me dé cual es la diferencia entre esas cantidades. Les agradezco de antemano por su ayuda y tiempo con el código de programación VBA DESARROLLO1.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.2k visitas
    • 1 seguidor
  11. Buenas tardes expexto, recurro a su ayuda para pedir sus valiosas ayudas, se trata de una dos hojas primero la hoja registro donde registra los pagos desde la columna D en la hoja pagos trabajo muy bien, pero necesito hacer otra macro que me copie los montos dependiendo del numero de cantidades de cuotas y en la fecha donde lo corresponde en la table del lado derecho donde comienza en la columna K. Por favor agradecere mucho la ayuda. Adjunto el archivo. Macro Neo.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 919 visitas
  12. Started by Jose BN,

    Buenos días, Amigos quisiera solicitar la colaboración con las siguientes macros: 1. Necesito crear una macro para la siguiente formula: =+SI.ERROR(((L9-K9)*24)-(BUSCARV(K9;$AI:$AJ;2;0));"") y ubicarla en la columna M9 de la hoja llamada BD y que se copie hacia abajo, una vez hecho esto convertir el resultado a valores para que no se visualice la formula. 2. En la columna N hacer lo mismo indicado en el punto uno, para esta formula: =SI.ERROR(BUSCARV(K9;$AI:$AJ;2;0);""), siempre en la hoja BD. 3. En la columna Q crear otra macro para esta formula: =CONCATENAR(O9;"&";P9) igual que se copie hacia abajo y convierta el resultado en valores. 4. Por ultimo hace un tie…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
  13. Started by riopar10,

    Hola a todos, no tengo ni la menor idea de como hacer esto, he probado varias macros del foro, pero no son del resultado deseado. Normalmente la estructura del archivo será siempre igual, siguendo esta estructura, la columna A tendrá siempr e las referencias de los productos de la tienda, lo que me gustaría es que con esa referencia de A poder eliminar todas las filas incluso de la columna A que tengan la referencia mia ( columna D ), dejando solamente los productos cuya referencia no coincidan entre A y D. Si es posible y no es mucho pedir, continuando con el mismo ejemplo y tambien necesario para mi, la columna H que es de descripción corta del producto tenga un máxim…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.1k visitas
  14. Started by Pako_Jones,

    Buenas, me pasa una cosa extrañísima y pruebo aqui a ver si le ha pasado a alguien más y sobre todo si hay alguna solución: la hoja de cálculo en cuestión tiene un combo box para poder visualizar diferentes cuentas de resultados en la pestaña cta. Es un fichero que tenemos en red, que usan diferentes usuarios. Pues bien, cuando desconectas el portátil de la red, con el fichero abierto (para ir a alguna reunión fuera de tu sitio) hay un momento, que al navegar por las opciones el combo, en este se distorsiona la fuente de las opciones y no puedes ver nada (adjunto imagen). Si estas conectado en red, NUNCA pasa. Nos pasa en diferentes ordenadores. Es verdad que …

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2k visitas
  15. Started by joelo,

    saludos a todos los del foro. nuevamente pidiendo de su apoyo, se trata de lo siguiente: en el anexo lo tome como apoyo para un desarrollo pero no puedo cambiar el filtro a otra columna, el archivo trabaja sobre la columna g, y lo que quiero que trabaje en la columna w, o en alguna otra que yo le indique dentro de la macro, de antemano gracias. lista con maccro Solido.zip

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.9k visitas
  16. Started by Marco Corrales,

    Buenos días, gusto saludarles. Tengo el siguiente código: Private Sub cmb_tipo_persona_Change() Dim valor, rango1, celda1, rango2, celda2, rango3, celda3, rango4, celda4, rango5, celda5 As Range Set rango1 = Hoja2.[Personas_Físicas] Set rango2 = Hoja2.[Sistema_de_Banca_de_Desarrollo] Set rango3 = Hoja2.[Empresarial] Set rango4 = Hoja2.[Corporativo] Set rango5 = Hoja2.[Sector_Público] valor = cmb_tipo_persona.Value cmb_tipo_cartera.Clear lbl_tipo_cartera.Caption = "" Select Case valor Case Is = "Personas_Físicas" For Each celda1 In rango1 cmb_tipo_cartera.AddItem celda1.Value Next celda1 …

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
    • 1 seguidor
  17. Tengo un archivo en excel tipico de ventas (ciudad, vendedor,ventas..etc) esta informacion esta en la hoja1 y quiero hacer una consulta desde visual basic tipo SQL (Select "Ciudad" from Ventas.xlsm where Ventas > 100). El recordset debera llegar a una hoja de excel del mismo libro (Ventas.xlsm) hoja2 Me pueden ayudar con el codigo de coneccion y si se requiere configurar el equipo para poder hacerlo. Envio Archivo .xls dado que la extension xlsm no pude subirla Gracias Ventas.xls

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 5.4k visitas
  18. hace poco me ayudaron con una busqueda nada mas que ahora necesito que si por ejemplo tengo en dos celdas juan perez garcia y pedro martinez perez al yo teclear en el textbox perez me arroje los dos nombres ya que hambos contienen lo que en el textbox se escribio y de paso creo que es igual pero que me busque en textos mas extensos palabras claves aunque no las escriba por completo ejemple si yo tengo en A1 este texto "el mejor amigo del hombre es el perro y el mejor amigo de la mujer es el gato", en otra A2 tengo "mi mejor amigo es juan" y en A3 "el tigre es el primo del leon que a su vez es primo del perro" si yo en un textbox escribo perro me debe de mostrar todo el c…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.5k visitas
  19. Hola, Ante nada muchas gracias por su tiempo. Escribo ya que decidi crear una macro la cual copia un texto de una pestaña y la pega en otra. Mi problema es que necesitaria que la misma se ejecute automaticamente al abrir el archivo de excel. Al ponerle el nombre auto_open, la macro intenta ejecutarse pero me da un error (Error 1004 en tiempo de ejecucion: Error en el metodo "Sheets" de objeto "_Global" Sub Auto_Open()[size=12][/size] '[size=12][/size] ' Auto_Open Macro[size=12][/size] '[size=12][/size] ' Acceso directo: CTRL+t[size=12][/size] '[size=12][/size] Sheets("futbol242").Select[size=12][/size] Range("A1:F1").Select[size=12][/size] Application…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1k visitas
  20. Started by Dinkys,

    Buenos días, A ver si alguien me puede ayudar con esta macro : Lo que necesito es poner la ruta que hay + todas las subcarpetas que hay después de \2019 Pedidos\..... y no se como hacerlo, Gracias de antemano Sub Proceso_hipervínculo_al_pedido() Ruta = "\\192.169.11.18\RecursosCompartidos\ADMINISTRACION-VENTAS\Interdepartamental\2019 Pedidos\" parte = ActiveCell.Value Set fso = CreateObject("scripting.filesystemobject") Set carpeta = fso.getFolder(Ruta) For Each archivo In carpeta.Files If archivo.Name Like "*" & parte & "*" And Right(archivo, 3) = "pdf" Then Shell "C:\Program Files (x86)\Adobe\Acrobat D…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.3k visitas
  21. Started by cristian.alarcon,

    Hola Amigos, Quiero obtener los dias disponibles de una persona x, y mostrarlos en un listbox por ejemplo, en combobox o listbox marco la persona, y en el listbox, muestre los dias libres o disponibles, algo como esto: los datos estan asi: Gracias

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.8k visitas
  22. Started by MauriciodeAbreu,

    Buenas tardes amigos. Tengo una duda. Estoy usando el siguiente codigo para colocarle clave de activacion a un boton que esta en la hoja de excel (el codigo funciona perfecto), pero no encuentro una manera de ocutar la clave cuando se ingresa. Habra alguna forma de que no se vea lo que se digita ? 'Caja para el ingreso del Password para poder borrar ultimo registro Dim PS As String Dim PS2 As String PS2 = "clave" PS = InputBox("Por favor ingrese su Password") If PS = PS2 Then 'Fin de la caja Agradecido de antemano por vuestra ayuda

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 4.5k visitas
  23. Started by fen1,

    Lo que quisiera lograr es que al ubicarme en el # de vehículo los datos del gráfico se actualizaran para dicho número de vehículos de acuerdo a los datos suministrados a la vez que el grafico se mantenga en la posición actual para el caso en que sean muchos datos y al desplazarse hacia los datos de abajo el grafico se mantenga siempre visible. Espero halla forma de hacerlo o incluso una mejor forma de ordenar los datos para poder hacerlo con más facilidad. Gracias por la ayuda. Nota: cómo le cambio el nombre al tema. Gráfico dinámico carreras.rar

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.5k visitas
  24. Started by rafaelmartinez1968,

    Buenas tardes y gracias de antemano Necesito crear el código para buscar un texto en una serie de filas y si encuentra alguno de ellos, me de un resultado. Texto a buscar = autopistas autorizadas - columna E Donde buscar = autopistas realizadas - columna A Resultado = está el trayecto autorizado??- columna B como soy novato en VBA , agradecería un código sencillito de entender gracias de nuevo por vuestro tiempo. no me deja subir archivo ejemplo en Excel por lo que no puedo adjuntar ejemplo

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.6k visitas
  25. Saludos amigos, necesito ayuda para sumar rangos variables en la celda superior de esa rango, de modo que sume hasta la última celda vacía. Les agradezco mucho la ayuda. Esto me gustaría hacerlo en VBA, como un código que me permita invocar esa fórmula como una función que pueda usar cada vez que la necesito. Mil gracias.

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.8k visitas
    • 1 seguidor

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.