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. Hola, espero que me puedan ayudar porque no se como hacerlo y no se mucho sobre el tema. Tengo una celda con un userforms que contienen un combobox para seleccionar de una lista el CLIENTE. En otra parte de la misma hoja ("Factura"), tengo otro Userforms con combobox para seleccionar el PRODUCTO. Tanto los clientes como los productos vienen de diferentes hojas (CLIENTES y PRODUCTOS). Lo que necesito es que en la hoja "Factura" al momento de ingresar el nombre del Cliente, se me filtren en el combobox de los PRODUCTOS los valores de lo productos (valga la redundancia) que correspondan a ese Cliente ya seleccionado. Adjunto el fichero. Les agra…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
  2. Started by LaFlower,

    Buenas tardes. Me podrían apoyar por favor en darme una guía de como puedo obtener lo siguiente: tengo una macro que recorre la fila 1 hasta el último dato.. ejemplo A1 hasta AA1. Lo que trato de hacer es que si el valor es mayor a 3 letras entonces me limpie el contenido, pero cuando se encuentra con celdas combinadas me marca error. No puedo eliminar las celdas combinadas, porque me descuadraría mi archivo. Sub Eliminar_texto() Dim lc As Long, col As Long lc = Cells(1, Columns.Count).End(xlToLeft).Column For col = 1 To lc If Len(Cells(1, col).Value > 3) Then Cells(1, col).ClearContents Next End Sub Gracias por la ayuda y su tiempo. ☺️ MiEje…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.1k visitas
  3. Started by vmjmb,

    Buenas tardes, Tengo un pequeño programa que e estado creando gracias a los temas que he encontrado en el foro pero hay algo que no me agrada de este programita es que cada vez que tengo que agregar un cliente buscar un cliente u otras cosas tengo que activar la hoja donde estan los clientes. Me gustaria que todo se maneje en base del programa sin tocar mas que una sola hoja mejor dicho algo que suplante al Sheets("Hoja3").Activate[/CODE] Adjunto el programita para que lo entiendan. Gracias cotizacion victor 1.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  4. Started by javieres,

    Hola amigos: Soy nuevo en el foro, estoy realizando mi PFC, mi duda es la siguiente: Tengo un cuadro de lista con diferentes artículos y tengo una macro que realiza una serie de operaciones cuando se realiza el evento click, mi problema es que en el cuadro de lista tengo unos 1000 artículos, y tengo que realizar estos mismos pasos para 10 años diferentes, es decir unos 10000 artículos, lo que me haría perder mucho tiempo si tengo que hacer el evento click manualmente. Por tanto estoy intentando realizar un bucle que me repita el evento click de mi listbox automáticamente para todos los artículos

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  5. Started by kuro.san,

    Me podrian definir que hace cada seccion de esta macro relacionada a este archivo: Sub Copia() Dim C As Range Application.ScreenUpdating = False For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp)) Sheets("Molde").Copy , Sheets(Sheets.Count) With ActiveSheet .Range("A5") = C: .Name = Left(C.Offset(, 1), 31) End With Next C Application.ScreenUpdating = True End Sub Ejemplo Copiar Hoja.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 851 visitas
  6. Started by jpvivar66,

    Buenos dias A ver si me podeis ayudar por favor Tengo una columna con 10.000 celdas, quiero dsitribuirlo en columnas de 500 celdas sin tener que copiar y pegar, que lo pueda hacer automaticamente el excel con una macro. Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 944 visitas
  7. Started by viejo,

    Hola buen día tengan todos me gustaría me pudieran ayudar y de no ser molestia me puedan dedicar un poco de su tiempo para poder resolver este problema que tengo. quiero controlar la inserción de datos de toda una columna para ello necesito que haga lo siguiente: 1.- Si Al seleccionar la ultima celda vacía de la columna en cuestión necesito que abra el formulario (userform1) que pregunta si es datonumerico o no. (ojo solo para celdas vacías si tienen datos no) 2.- Si Al seleccionar el optionbutton de "dato numérico" que haga un barrido desde el primer registro de la columna hasta abajo determinando el ultimo dato numérico de esa misma columna para que sobre la mi…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 911 visitas
  8. Started by Benito Bartolomé,

    Hola a todos; He estado viendo si hay alguna macro que pueda convertir un archivo a pdf a Excel. He encontrado algo pero necesita tener instalada una librería de adobe acrobat para que funcione. No se si conocéis alguna otra forma. Saludos. Adjunto la macro MPdf-Excel.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 7.5k visitas
    • 2 seguidores
  9. Started by Oscar.Villatoro,

    Saludos mis estimado compañeros... Les comento que estoy trabajando en un proyecto, y dentro de las características del mismo, es necesario llevar un control sobre el número de día que hay de una fecha a otra (sin tomar en cuentas los fines de semana), pues en éste asunto todo me ha ido bien. La información es mostrada en un formulario. La información está asociada a un número de registro y efectivamente el calculo de los dias entre fechas si ocurre (dicho cálculo se muestra en una etiqueta llamada "LB_R").... dónde necesito que me orienten (porque no doy como) es: que al evaluarse el resultado de la etiqueta y si éste es mayor o igual a 90 en otra etiqueta me muestre l…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  10. Buenas tardes, he llegado aqui por buscar info en la web. Tengo el siguiente problema, ya he probado varias cosas y no le encuentro la vuelta. Tengo un archivo de excel 2007 con dos hojas, en una una tabla con 3 columnas: codigo,descripcion y precio; en la otra una planilla con esos 3 campos mas cantidad y total. Lo que necesito es que cuando en la planilla ingrese el codigo y le de Enter, me coloque en forma automatica la descripcion y el precio, asi solo tengo que ingresar la cantidad. He probado con la funcion =buscarv, me funciono, pero si la copio para todas las filas, me aparece N/A en las filas que no coloco ningun codigo, entonces no puedo sumar la columna de …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 796 visitas
  11. Started by juanmafdez,

    Buenas Tardes. Me gustaría crear un formato condicional en un Excel pero al estar compartido no me da la opción de hacerlo. Supongo que por programación se podrá hacerle. La condición es referente a dos celdas, si la celda E2 esta rellena y la celda F2 está vacía que la fila 2 ponga el color de la fuente en naranja y la otra sería si la celda E2 esta rellena y la celda F2 está rellena que la fila 2 ponga el color de la fuente en rojo. Muchas gracias por vuestra ayuda.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  12. tengo una tabla llamada prestamos y obtengo con un combobox los valores del libro como nombre,autor,editorial num de clasificación este ultimo es lo que identifica al libro como único pero existen muchos libros con el mismo nombre el problema es que si quiero cargar otro libro que se llame igual aunque su num de clasificación sea diferente solo me muestra el primero que cargue y no el o los siguientes siguiente necesito ayuda por favor *** ejemplo ** tengo 2 libros de física su num de clasificación es CB-MF-001 y del otro libro es CB-MF-002 al iniciar el combobox me carga el primero hago una operación de préstamo del primer libro y deseo prestar el segundo libro …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 690 visitas
  13. Started by pearljam,

    Hola a todos. Veréis, tengo un problema que me trae de cabeza...Tengo un libro abierto llamado "Entrada de datos" y otro llamado "Perfilador" donde se van copiando cosas del primero al segundo.Pues bien, cuando acaba de copiarse todo lo necesario, quiero que se ejecute una macro del libro "Entrada de Datos" pero NO HAY MANERA! Tengo el siguiente codigoWorkbooks.Open "C:\Users\alvar\Downloads\Entrada Datos Fondos (Final).xlsm"Workbooks("Entrada Datos Fondos (Final).xlsm").ActivateSheets("Selector de Fondos Indexados").SelectRange("B7").SelectApplication.Run "Entrada Datos Fondos (Final).xlsm!Ejecutar_Buscador"Y me da un error que dice "no se puede ejecutar la ma…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2k visitas
  14. Started by Pirtrafilla,

    Hola a todos de nuevo. De nuevo con un problema con una consulta SQL desde Excel a Access. Pongo el código y explico. 'macro para grabar los datos en tabla Checklist Fin = ListBox1.ListCount For i = 0 To Fin - 1 xxx = ListBox1.List(i, 0) Conexión If IsNull(ListBox1.List(i, 9)) Then Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='" & ListBox1.List(i, 6) & "', En_Curso='" & ListBox1.List(i, 8) & _ "' WHERE ID =" & xxx Else Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
    • 1 seguidor
  15. Buenas tardes Mi nombre es victor y tengo un proyecto basado en la fabricacion de productos de limpieza. Ahora estoy tratando de simplificar el tiempo que tardo para obtener la lista de insumos que necesito usar para fabricar determinado producto ya que los cuadernos no son tan rapidos como la pc y la mente es fragil necesito crear un sistema que pueda darme los insumos que necesito para crear determinado producto ya sea lejia, quitasarro, perfumador etc. Lo que estoy necesitando es que al poner en una celda determinada el nombre de un producto como perfumador me indique que insumos quimicos necesito para prepararlo. Adjunto archivo Gracias de antemano. productos.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 654 visitas
  16. Started by Juangiraud,

    Estimados, alguien me puede ayudar con la función contar si conjunto. EJ. En el Textbox1 necesito saber cuantos paquetes de yerba vendió el vendedor 1 prueba.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
  17. Buenas a todos, Probablemente ya se ha dado solución por partes al problema que encuentro, pero no logro unificar varias formulas que necesito para alojar en una sola celda. El asunto es el siguiente. Ejemplo: En una tabla de excel por ejemplo la celda A7 contiene la formula siguiente =SI.ERROR(INDICE('C:\Users\USUARIO\Documents\CLIENTE\DATOS2020\[DATOS_WEB.xlsx]hojadatos'!$AF:$AF;COINCIDIR(I7;'C:\Users\USUARIO\Documents\CLIENTE\DATOS2020\[DATOS_WEB.xlsx]hojadatos'!$N:$N;0));"") El dato que devuelve es un hipervinculo a una pagina web. (El archivo DATOS_WEB.xls sufre actualizaciones semanales) por ejemplo, la celda A7= https://w…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  18. Started by terremoto96,

    Buenos días. Quiero crear una macro en la que me descargue las urls de mi columna A, con el nombre de mi columna B, a la ruta de la columna C. La descarga de la url me gustaría que fuera con estilo, imágenes, etc., es decir, como cuando das al botón derecho y clicas en "Guardar página web". Tengo esta macro, pero no descarga las urls con estilo. ¿Pueden ayudarme, en qué me equivoco? Muchas gracias Descargar urls.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 678 visitas
    • 2 seguidores
  19. Started by Margarida,

    Buenas tardes, Soy nueva en el visual basic para excel. He creado un formulario para insertar datos en una hoja de excel. El formulario funciona si sólo pones los datos una vez, pero al intentar rectificarlos y volver a validar me da error. Me podeis ayudar. Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 849 visitas
  20. Hola buenas noches. Tengo la necesidad de en un libro 1 hacer una lista indice de las hojas que contiene otro libro (X), En mi libro1 tengo una hoja llamada lista. ahí me gustaría poder en listar los nombres de todas las hojas que contiene otro libro. Pero el nombre del libro en la que debo extraer los nombres esta escrito en la celda D2 de mi hoja basic. Espero me puedan ayudar con alguna opción. Muchas gracias Libro1Donde va lista.xlsm

    • 1

      Reacciones de usuarios

    • 4 respuestas
    • 771 visitas
    • 2 seguidores
  21. En primer lugar quería agradecerles toda la ayuda que nos prestan con estos foros. Soy totalmente novata en esto de las macros, pero gracias a su foro he conseguido que por medio de una macro se me imprima un área, pero que antes de imprimir se oculten las filas en blanco y después de imprimir vuelvan a aparecer las filas en blanco. Como les he dicho hasta aquí todo correcto, pero el problema surge cuando el botón para ejecutar la macro lo pongo en otra hoja diferentes (en este caso en la hoja "RESUMEN"), como se puede ver en el archivo adjunto, si el botón está en la hoja "Desarrollo" (donde se encuentran los datos a imprimir) no hay problema, pero si pongo el botón e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  22. hola a todos, Primero que todo espero que se encuentren muy bien, bueno yendo al grano necesito ayuda en este pequeño problema, tengo un Combobox y en este se puede escribir, puede escribirse independiente de los valores que esté tenga en la lista. Ya logre controlar si el Combobox se deja vació, ahora necesito controlar este pequeño error. les pongo el código que use para controlar si se deja vació, así me entienden mejor xD Nota: CbbMes (ComboBox) if CbbMes.Value = "" then Msg "Debe seleccionar un mes", vbCritical, "Error" CbbMes.SetFocus Exit Sub End if

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.7k visitas
  23. Started by inkabebe,

    Hola con todos los integrantes de esta gran comunidad, desde ya las gracias por atender mi solicitud. Bueno si no es abusar de su confianza les comento que he buscado por la red antes de incomodarlos y los ejemplos que logrado encontrar digamos que no hacen lo que necesito y lo que necesito es un código o macro que me permita ocultar automáticamente las hojas del libro con el cual trabajo (20 hojas), y que cuando abra el libro se muestren estas hojas, pero antes de mostrarlas me pida una contraseña y usuario si fuera posible o simplemente que pida contraseña, si es correcta que abra la hoja y si no que se cierre el libro automáticamente . Gracias antic…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 897 visitas
  24. Started by vanenqn,

    Hola a todos, estoy necesitando copiar las celdas de color de una de mis hojas de mi libro, o sea en una fila decido pintar de color rojo de fondo una fija y me gustaria que con un boton o macro o algo esas celdas se copien y se peguen en otra hoja llamada Pendientes...ni idea como puedo hacer esto, ojala me puedan ayudar muchas gracias... Hola nuevamente, ya voy pudiendo solucionar mi problema, el tema es si se puede hacer lo siguiente con esta linea: Sheets("Pendiente").Range("A:z").ColumnWidth = Sheets("Origen").Range("A:z").ColumnWidth quisiera que en vez de poner un rango, se calcule por las celdas ocupadas con datos, o sea si tengo datos hasta la colu…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.6k visitas
  25. Started by JamesJhair,

    Hola compañeros del foro tengan todos un buen día. Mi consulta es la siguiente: Tengo varios proyectos en excel de VBA y quiero utilizar cada procedimiento o cada opción dentro de un modulo de clase y poderlo llamar dentro de cada objeto. Es decir, quiero organizar mi código y que se pueda entender, no quiero que me aparezca todo mi código dentro de un objeto. Quiero saber si con los módulos de clases o módulos comunes se puede hacer esto y poder llamar cada procedimiento desde un botón u objeto que corresponda. Ejemplo: 1 - Crear un modulo de clase o modulo común con el nombre del procedimiento por ejemplo (Buscar Nombre) 2 - Poner den…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.6k 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.