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 Lo que quiero es proteger contra escritura solamente las celdas que en mi caso tienen de fondo el color rojo y que corresponden a festivos, sábados y domingos. Lo quiero hacer a través de una macro porque esas celdas cada año van cambiando de sitio. Lo he intentado a través de macros de otros foros, pero al pegarlas en Visual Basic, o bien no me funcionan o se me pone en rojo, como si faltara algo o fuera incorrecto. Debo estar haciendo algo mal, debido principalmente a que en el tema de programación de macros soy inexperto, así que por favor si me podéis indicar los pasos a seguir a nivel de principiante os lo agradecería. Adjunto el archivo en …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.2k visitas
  2. Necesito poder extraer desde Excel VBA la lista global de direcciones de Outlook. No consigo información. ¿Alguien puede darme una pista? Juan Luis.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.2k visitas
  3. Started by Salvador1,

    Hola: El archivo contiene un código para enviar email a través de Hotmail. En la celda "adjunto" hay que poner la ruta del archivo que quieres adjuntar, y solicito lo siguiente: crear un botón mediante el cual se abra una ventana, explores hasta llegar al fichero que se quiere enviar y, al aceptar, se inserte la ruta en la celda. Ejemplo1.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.2k visitas
  4. Buenos días, Tengo una macro en la que tomo el contenido de una celda con un texto tal que así: "Ranking Reposiciones. [25/07/2016 - 01/08/2016]" y en el que trato las fechas para calcular los días laborables entre ellas. Una vez conozco los días laborables los almaceno en una variable: Dim Work_Days As Long Y más adelante quiero utilizar la variable Work_Days en una división, pero siempre obtengo el resultado "¿NOMBRE?." Con esto obtengo el error mencionado. With Sheets("REPOSICIONES").Range("G4:G" & UltimaFila) .Formula = "=RC[-1]/DiasInforme" .Formula = .Value .NumberFormat = "0.00" End With En cambio, si el valor …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.2k visitas
  5. Started by Lady94,

    Hola,Buenas tardes. Necesito que alguien me de una mano con el tema siguiente: Quiero crear un software para el comercio de mi padre y me dijeron que puedo usar de base el excel,pero no conozco mucho de esto y no lo se usar muy bien :s En fin,en este programa se me ha pedido que al poner un codigo de distribuidor o descripcion me salga disponibilidad y precio haciendo equivalencias con todos los proveedores... No se si me explico bine,alguien me puede enseñar o decirme que hacer?seria de muchisima ayuda! Gracias.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.2k visitas
  6. Buena tarde a todos: Necesito hacer un resumen de folios y con los nombres de pacientes a una hoja resumen. Pero los datos de cada hoja son extensos. La informacion que quiero extraer son de las columnas en que se encuebntran los Folio, fecha, y nombre de paciente. Muchas gracias Extraccion de datos.xls

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.2k visitas
  7. Started by harrytr,

    tengo el siguiente código, pero no se como hacer para que los rangos de celdas no sena estáticos, es decir que ocurra en todas las celdas Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("D2").Address Then Range("E2:J2").ClearContents If Target.Address = Range("E2").Address Then Range("F2:J2").ClearContents If Target.Address = Range("F2").Address Then Range("G2:J2").ClearContents If Target.Address = Range("G2").Address Then Range("H2:J2").ClearContents If Target.Address = Range("H2").Address Then Range("I2:J2").ClearContents If Target.Address = Range("I2").Address Then Range("J2").ClearContents End Sub[/CODE…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.2k visitas
  8. Buenas tardes. soy nuevo en este magnífico foro que he encontrado. Mi consulta es la siguiente: tengo una hoja excel donde en la columna "A" hay nombres de clientes aunque alguna celda está vacía correspondiendose con el nombre de cliente de la inmediata anterior según fichero adjunto Tengo ya una macro creada con el grabador de macro que me suma los valores de la columna "C" cuando me posiciono sobre la celda "A" que está vacía. el problema es que también (obviamente) se ejecuta la macro si el cursor está en una celda que no está vacía. ¿Me podéis decir qué tendría que insertar en la macro ya realizada) Muchas gracias demo.xls

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.2k visitas
  9. Hola buen dia foristas, me veo en la necesidad de volver a publicar esto ya que no he podido solucionarlo, y resulta lo siguiente: Tengo un Formulario con una lista donde al seleccionar algun elemento de la lista y darle en word me genera un informe con respecto a dicha lista, el detalle aqui es que cuando me genera dicho informe lo hace sobre la misma plantilla original y lo que necesito es que me lo genere desde la plantilla para que sea un documento nuevo pero con los datos de la plantilla, ya intenté cambiar la extension de la plantilla de .doc a .doxt para que al momento de abrir la plantilla solo abra una copia y no se modifique la plantilla original pero no lo ha…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.2k visitas
  10. Started by alvaro_garcia,

    Buenas tardes, vuelvo a escribir para comentaros un problema. Tengo una petición pro REST API que me trae unos valores, y necesito que calcular el % de cada uno de estos valores, me estoy descargando el total y el valor de cada celda, asi que simplemente seria calcular el procentaje por cada una de las celdas, pero no consigo hacer funcionar el for, si uso formular de excel, me fallan en ocasiones, asi que estoy implementado el uso de una macro.Os pongo lo que estoy intentando y me falla: Sub calcular() Set rng = Sheets("AAA").Range("G11:G40") ' Rango donde se descargan los valores individuales Set percent_total = Sheets("AAA").Range("G10")' celd…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
  11. Buenos días Estimados, Tengo un listbox que muestra ciertos datos que están en una cierta hoja, una de las columnas está en formato hora [hh:mm] pero al visualizarla en el listbox me aparece con puros números como muestra la imagen: Este es el código que estoy ocupando y me lo muestra con números: Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Format(b.Cells(nFila, 8), "hh:mm") 'HORA Como puedo hacer para cambiarle el formato y que se vea como debe ser? (hh:mm) ¿Existe otra forma de asignarle el formato hora a la columna? Gracias.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 3.2k visitas
    • 1 seguidor
  12. Hola, Tabla con dos columnas, en la columna A está el valor que deseo buscar y que coge de un formulario Para la búsqueda del valor utilizo Vlookup, pero necesito decirle que cuando encuentre ese valor, seleccione la fila y la borre. Eso es lo que me falla Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.2k visitas
  13. Buenas tardes, Tengo, en una columna datos del tipo xxxxxxxx/6/3. Necesito recorrer esa columna y modificar esos datos para eliminar todo aquello que esté a la izquierda de la primera barra. Es decir, en el ejemplo quedaría ésto: 6/3. A veces la celda en cuestión no contiene una barra, solo texto o números, en ese caso no hay que tocarla. Lo que necesito es un método rápido para recorrer esa columna y no se cual sería el mejor método pues hay días en los que la hoja tiene muchas filas de datos (cerca de 20.000) y no quiero eternizarme con este proceso. Adjunto fichero en el que muestro un ejemplo más amplio. Gracias por vuestra ayuda y vuestro tiempo…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.2k visitas
  14. Started by IGOFER,

    Buenos días; Necesito ayuda para hacer funcionales los botones de opción "curso" y "publi". Intento, sin suerte, que sea posible seleccionar cualquiera de los dos botones, independientemente de los que ya existen en el formulario, para introducir en la hoja (fila h, destino) las palabras curso o publi respectivamente y teniendo en cuenta que la tabla crece con el contenido. Muchas gracias por adelantado. CONTROL STOCK LIBROS 2015-2016-2017.rar

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 3.2k visitas
  15. Hola, buenos dias a todos, antes que nada les deseo que esten todos en genial estado de salud, y agraezco los post que publican, en esta ocacion quisiera pedir apoyo para lograr un control de Inventario Bajo tres Varialbes de Control, es decir, en lugar de solo controlarlo por medio del Item, tambien se pueda ese control con Lotes y Caducidades. He intentado varias cosas pero no logro cristalizar mi idea.... Dado esto, es que no subo un archivo, solo comparto la idea por si alguien lo tiene o lo sabe hacer. Se Ingresarian al Inventario Productos que tienen un codigo de Referencia, un Lote de Fabricacion y una Fecha de Caducidad, el proveedor puede surtir un solo codico…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.2k visitas
  16. Started by pimoweb,

    Estimados, tengo el siguiente problema, quiero hacer filtro con una variedad de datos ( estos datos los quiero sacar de una tabla X, que pueden ser números tan diferentes como 4, 5060, 876, etc. como puedo hacer para introducir estos números en una variable y que se pueda filtrar por esta? he tratado simplemente con 1 numero y ni por eso me sale: Sub Macro1()Dim suma As Double Dim reparto As Double suma = 0 Range("P3").Select 'Range(Selection, Selection.End(xlDown)).Select Do While ActiveCell <> "" suma = suma + ActiveCell.Value ActiveCell.Offset(1, 0).Activate Loop reparto = suma * 0.016 Range("p1127").Value = reparto Ac…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 3.2k visitas
  17. Hola: Tengo un Listbox que lista una carpeta y al hacer doble click en cualquier item se debería abrir el archivo. Antes de hacer pruebas, se me abrian todos los tipos (doc, pdf, y jpeg entre otros), salvo los tipo excel (xls*), pero ahora no se abre ninguno. Aun así, la consulta es para saber cómo abrir cualquier tipo de archivo incluyendo los de Excel, porque tengo varios códigos que abren archivos (del tipo ShellExecute, etc) , pero fallan con los xls* Abrir archivos.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
  18. Started by Albertofitness,

    Hola que tal os queria exponer unos problemillas con los botones de mi formulario. 1º-Cuando se abre el formulario me sale el cursor parpadeando en edad y no me tiene que salir en ningun sitio hasta que no de al boton de NUEVO. 2º- Como vereis cuando doy al BOTON NUEVO se me desactivan algunos botones y tb cuando doy AL BOTON BUSCAR. pero eso esta bien.( Eso es para que sepais como va un poquito).Mi pregunta es: Que cuando doy al boton nuevo y meto datos en los textbox despues tengo que dar al boton agregar para agregarlo a la base de datos y la verdad que no se me agregan.Y cuando doy al BOTON AGREGAR y me desaparecen lo que he metido en los textbox si quiero mover la…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.2k visitas
  19. Started by Rollerus,

    Hola a tod@s, agradecería mucha que me ayuden, debo hacer una planilla que calcule el material que se ocupara en la fabricación de un pedido de cortinas, principalmente la tela, la cual necesito saber cuantos metros lineales se ocuparían por cada tela del pedido. Les explico como funciona, solicitan medidas de cortinas, ancho x alto y debe elegir el tipo de tela (entre otras cosas). Teniendo estos 3 cosas fundamentales, ya deberíamos poder calcular la cantidad de tela a utilizar. Teniendo en cuenta que los rollos de telas miden 2.8 mts por 30 m de largo, si hay 2 o más medidas (ancho de cortina) si la suma de sus anchos sume igual o menor a 2,8 m, solamente se considera e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
  20. Hola que tal soy nuevo en el foro y estoy realizando un pequeño inventario , solo que tengo muy poco conocimiento sobre el tema de vba , espero alguien me pueda ayudar con la siguente cuestion 1. tengo una tengo una hoja llamada bodega y tengo una hoja llamda interfase(ahi capturo mis entradas) 2. en la hoja llamada bodega tengo las ubicaciones disponibles 3,quiero que al presionar un boton( despues de realizar mi captura ) me busque los datos de un rango (interfase) en la hoja llamda bodega me los filtre , copie lo de las siguientes celdas segun corresponda y pegue los datos (bodega) 4 por ultimo me limpie el area de captura nota: de ser posible no importando …

    • 0

      Reacciones de usuarios

    • 20 respuestas
    • 3.2k visitas
  21. Started by Villable,

    En las hojas de cálculo he usado bastante las funciones mín común múltiplo (M.C.M) y máx común divisor (M.C.D). Pero ahora estoy haciendo una macro y no encuentro esas funciones en V.B.A. Me cuesta creer que no venga implementada. Si es así, me gustaría conocer alguna macro sencilla para obtener esas funciones. Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
    • 1 seguidor
  22. Hola a toda la comunidad tengo la siguiente pregunta: Tengo un archivo Excel con macros vba y quisiera compartirlo a varios usuarios, pero cuando ingresan los usuarios a la misma vez al archivo sale que uno de ellos solo puede leer el archivo mas no ingresar ni modificar, existe alguna solución para mi problema planteado.. Gracias de antemano archivo: Dropbox - SILEG_NUEVO-2013.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.2k visitas
  23. Started by elkely,

    Buenas. En el ejemplo adjunto tengo una tabla (C14:D14) donde al selecionar un nombre, este aparece por codigo puesto en página en la celda C1. A partir de ahí se genera unos resultados que aparecen desde C2:D12. Lo que queria conseguir es que en si en esos resultados aparecen 1 o mas duplicados, apareciara un msgbox con el titulo "Atención" que alertara de que "Tienes una o varias coincidencia, ¿quieres continuar?", y diera la opción "sí o no". Gracias por vuestra ayuda. AVISOS1.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.2k visitas
  24. Started by pepetoño,

    hola hola tengo una pregunta por que he estado quebrando me la cabeza tengo un textbox en el que capturo una serie de numero aproximadamente 8 números por ejemplo 38562135 , y tengo una pequeña base de datos y comparo lo que hay en esa columna lo capturado pero no me sale solo con caracteres, lo que quiero saber es si es posible hacer esa comparación, que capture en mi textbox así números y los pueda comparar, por que siento que mi textbox solo captura eso texto, caracteres nada mas. si alguien me pude ayudar por favor.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.2k visitas
  25. Buen día amigos quisiera ayuda en esto. 1.- Uso Excel 2007. 2.- Tengo una macro plantilla que crea a su vez varios archivos con macros para cada uno de mis alumnos. 3.- La macro plantilla hace que automáticamente se le asigne una contraseña a vbaProject y asi no puedan ingresar a ver el código vba. 4.- Pero como ustedes ya saben este código se rompe fácil, hasta en youtube hay videos de como hacerlo. Investigando en páginas en ingles veo que la mejor manera es ocultando el código vba creando un add-in, pero no se como hacerlo, ayuda porfavor.

    • 0

      Reacciones de usuarios

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