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 Necesito ayuda respecto a una macro que no consigo realizar. el problema en la hoja de cálculo és el siguiente: - Tengo dos "series" de tablas (cada tabla separada por la superior por varias filas en blanco) . Estas tablas están ordenadas como dében(en las respectivas series). El problema es que no están alineadas: ej: la primera tabla de cada "lista" de tablas tienen que estar alineadas ( la primera tabla de la dos listas tienen que empezar en la misma fila; la segunda tabla de cada lista tienen que empezar en la misma fila,etc ). Otro problema añadido es que las tablas no tienen el mismo tamaño en cuanto filas (si en cuanto a columnas) y que la separación entr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 575 visitas
  2. Started by josegomez,

    Hola a todos tengo la siguiente pregunta, me encontré con un archivo en excel el cual presenta el botón de desproteger inhabilitado al principio pensé que era por una macro, estuve buscando el código pero no encontré tal. Realmente estoy muy intrigado no se como puede ser esto. Alguien podría sacarme de mi duda

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 844 visitas
  3. Started by ARAM9,

    Hola a todos, les comento que no soy un experto en macros, el archivo que les adjunto lo baje de este porta y me parecio muy bueno, solo quisiera saber como hago para una suma total de la columna Dias dejando una fila en blanco, con un rotulo "[ATTACH]36581.vB[/ATTACH]" y que quede similar a la imagen que les adjunto. Espero que me puedan ayudar, muchas gracias. Gracias ARAM9 Datos.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 748 visitas
  4. Buenas tardes a todos, es la primera vez que posteo aqui, aunque he buscado varias cosas, siempre con buenos resultados, pero esta vez no encuentro lo que busco: Busco colocar, siembre que exista, los datos de la columna A, en la primera celda libre que encuentre de su misma fila: No soy experto en VBA ni programacion, pero he encontrado una formula que modificandola queda asi: Sub ttt() ActiveSheet.Cells(17, 1).Select Selection.Copy ActiveSheet.Cells(17, 1).End(xlToRight).Offset(0, 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveSheet.Cells…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 791 visitas
  5. Started by adrianesteban,

    Buenos dias desde Zaragoza, Estoy intentando guardar una hoja en una carpeta que se grabe con el texto que contiene una celda, he estado haciendo pruebas con temas solucionados de aqui y de otros foros y no he llegado a buen puerto con ninguno. Os dejo unos detalles de como lo estoy intentando hacer y el archivo. Desde grabar pedidos se generan dos tipos de albaranes"telefonicos" y "just eat" que pasan a "FACTURA PLANTILLA" para pedidos telefonicos y "FACTURA PLANTILLA (2)" para just eat. A) Intento una macho para que la hoja "FACTURA PLANTILLA" se dispare desde grabar pedidos y vaya a C:\Users\come\Desktop\pedidos\TELEFONICOS y se grabe con la celda F1 de factura "FAC…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.5k visitas
  6. Muy Buenos días. Soy nuevo en esto de los foros y aunque me he pasado los últimos 5 días revisando los temas ya planteados con anterioridad, no he logrado que un par de códigos funcionen, incluso los he comparado con algunos códigos propuestos en este foro. Ya no se que cambiarle o que estoy haciendo mal. La situación es esta: Tengo dos hojas de excel que son bases de datos, para la captura de la información en dichas hojas elabore sus respectivos formularios con 2 botones de comando (Agregar y Cerrar) sin embargo requiero otros botones que me permiten buscar, modificar y eliminar los registros ya ingresados. Esto último es en donde me encuentro entrampado. Anexo mi…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  7. Buenas a todos. Tengo este codigo que forma parte de una macro, que como podeis ver sirve para crear y enviar PDF por email pero esta es la seccion donde en ocasiones me produce el error. En condiciones normales y fuera de la oficina con conexion normal a Internet funciona de maravilla. El problema viene cuando tengo el ordenador en la oficina y está conectado a la red de la empresa y al usar la macro se me para en esta linea Application.PrintCommunication = False. Me tiene descolocado ya que tengo configurado como impresora predeterminada CUTE PDF y no se porque en la ofi se para siempre aquí y fuera de la ofi funciona. En la oficina hay impresoras en red a las que…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.2k visitas
  8. Started by canairda13,

    Hola quisiera ayuda con una macro que me busque una palabra u oración en una hoja, la idea es no usar la opción buscar de excel; que el usuario escriba la palabra u oración en una celda y al dar clic en el botón asignado a la macro se dirija a esa celda, si hay varias opciones que se vaya moviendo entre las celdas que tienen la búsqueda. Esa macro la usaría en varias hojas pero no tiene que buscar en todas al mismo tiempo. Sería muy diferente si quisisera que buscara en todas las hojas y se fuera moviendo entre las palabras encontradas? A djunto un archivo con un ejemplo de la plantilla que necesito usar. Yo uso excel 2010. Gracias por la ayuda que me puedan brindar. …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  9. Started by javierausin,

    Buenas, me gustaría que me ayudarais a hacer una macro, si alguien tiene tiempo claro. Yo creo que es una macro sencilla, pero por mas que lo intento no lo consigo. Lo primero que necesito es que busque los datos de las columna A de Hoja1 en la columna C de la Hoja2 y si son iguales copie el valor correspondiente de columna M de Hoja2 en la columna escogida. Para escoger la columna donde pegar, un menú desplegable con la selección de los meses. Una vez escogido el mes, se pulsa un botón (TICKET) y se realiza la búsqueda y pegado. Luego necesito un cuadro de texto donde introduzcas una medida de la columna A, y dando al botón COLOR se ponga de un color, dependiendo del m…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 832 visitas
  10. 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
  11. Started by Crifer,

    Buenas noches a todos, Necesito ayuda, estoy haciendo un excel en VB para hacer presupuestos y me quedado encallado en lo siguiente... Estoy metiendo unos CODIGOS, DESCRIPCIONES, CANTIDADES, PRECIO COSTE, MARGEN, PRECIO DE VENTA, ETC.. en un ListBox. Cada cierto tiempo he de ir sumando (Con un Boton) en otra fila el total hasta ese punto (TOTAL PARTIDA), luego sigo añadiendo artículos y le vuelvo a dar en añadir PARTIDA, pero no consigo sumar desde la ultima fila que ponia TOTAL PARTIDA hasta la ultima que añadi. OS adjunto una imagen para que os hagais una idea y el código. Gracias Un saludo. Private Sub CommandButton7_Click() Dim i As Byte, tot As Currency For …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.7k visitas
  12. Hola, Lo que necesito hacer quizás sea complicado, pero no encuentro nada de como poder hacerlo. Tengo varios documentos de texto con cierta información. Siempre el mismo formato, en cada línea este texto solo cambian los 3 valores que es están entre comillas al final. Estos 3 valores son los que se deben cargar, cada uno de ellos en una celda diferente. Lo que tengo es una macro que genera estos archivos con estos textos, pero con esto necesitaría hacer el efecto contrario, pasar de los archivos a las celdas. Por ejemplo, tengo estas dos líneas en el TXT. INSERT INTO tabla-01 VALUES (Unidad, Tipo, Descripcion) VALUES (tabla-01) SELECT Unidad FROM tabla-02 WHERE Un…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 728 visitas
  13. Started by caguilar112,

    Hola a todos Estoy tratando de hacer una macro que imprima varias hojas de un solo documento, ademas que me guarde el archivo con el mismo nombre, pero con el consecutivo que sigue. ejemplo yo quiero imprimir 50 hojas, entonces que el consecutivo sea 1,2,3,4,5...48,49,50. Que me guarde el archivo, pero que la próxima vez que utilice el archivo comience en 51 y poder imprimir de nuevo # cantidad de hojas de la misma forma. Ya he intentado varias formas pero sin lograr conseguir lo que busco, se que en este foro hay personas expertas y me pueden ayudar con este tema Adjunto la hoja que deseo imprimir en forma consecutiva el # a ser tratado se encuentre en la celda AX5 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  14. Me gustaría que me solucionarais un problema con excel 2003. Necesito una macro que compare la columna A de la hoja 1, con otra columna A de de la hoja 2. y si son iguales la celdas que copie la celda que corresponde con la fila de la Hoja 2 columna B a otra celda de la hoja 1. muchas gracias Libro1.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.4k visitas
  15. que tal como estan quiero cargar una consulta y acomodarla de la siguiente manera Do Until rs.EOF Hoja2.Range("C") = rs("idappact").Value Hoja2.Range("D") = rs("codappact").Value Hoja2.Range("E") = rs("desapeta").Value Hoja2.Range("F") = rs("desapsub").Value Hoja2.Range("G") = rs("nomapact").Value Hoja2.Range("H") = rs("resappact").Value Hoja2.Range("I") = rs("fecappini").Value Hoja2.Range("J") = rs("fecapprea").Value Hoja2.Range("K") = rs("idappeta").Value Hoja2.Range("L") = rs("idappseta").Value rs.MoveNext Loop[/PHP] pero me marca " error en el metodo range de objeto _worksheet" que podria estar haciendo mal.... Saludos y gracias!!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 7.3k visitas
  16. Started by niangari,

    Saludos a todos. Les escribo para pedir algo de ayuda en programación de macros. Estoy tratando de lograr lo siguiente: Tengo en la hoja 2 una tabla de ejemplo en donde el usuario debe escribir una serie de datos. Éstos nunca van a ser la misma cantidad, pueden ser desde sólo 1 o 2 hasta máximo 20 entradas. Para eso puse en el documento un par de macros de ejemplo que van a ir agregando o quitando filas según el usuario quiere agregar o quitar entradas. 2013-02-10_1559 - niangari8's library Ahora en la hoja 1 quiero que con ejecutar una macro se distribuyan automáticamente esta lista de entradas de texto en el cuadro que está ahí. 2013-02-10_1600 - niangari8's librar…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 787 visitas
  17. Hola de nuevo a todos, La semana pasada me ayudastéis a crear una macro para traspasar los datos de un Albarán a un listado. Ahora necesito cambiar parte de la macro para cambiar un poco la presentación final de la factura. En resumen, en el archivo adjunto, veréis que el libro consta de 3 hojas. La primera llamada Albarán, ejecuta a través de botón (PASAR ALBARÁN), el copiado de los datos a la hoja 2 llamada Albaranes, y la Hoja 3 llamada Factura, al introducir código de cliente, busca y copia todos los datos del listado Albaranes. Necesito modificar macro de la Hoja 1 (albarán), para que al traspasar los datos el resultado sea el siguiente (en archivo adjunto se inc…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 907 visitas
  18. Started by betamaxtelecom,

    Cordial Saludo Primero que todo muchas gracias a todos por su inmensa colaboracion, traigo el siguiente problema quiero comparar dos hojas de Excel En una hay un listado general y en la otra hoja un listado especifico. Necesito encontrar los registros que coinciden y copiarlos a una nueva hoja, y las diferencias a otra hoja, yo tengo una version pero solo compara unas pocas columnas, requiero que compare todas las columnas sin importar la cantidad. subo el archivo en su version inicial que fue solucionado por ustedes los foreros. De antemano muchas gracias Consolidador de Datos Original.zip

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 691 visitas
  19. Started by Novaloza,

    Sepueden Repartir 30 números en grupos de 10 números sin repetir ninguno creandotodas las columnas posibles Pudiendo elegir los números. Alguien de foro encontré este libro Excel que estámuy bien pero está incompleto si alguienlo pudiera revisar y echarme una mano y cumplimentarlo sería perfecto. Graciasal foro

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 731 visitas
  20. Started by peperoni,

    Buenas tardes, Ante todo, muchas gracias por vuestra página Web, que me ha permitido avanzar bastante en el fascinante mundo de la programación VBA, pero no lo suficiente, ya que no fui capaz de resolverla esta duda que les envío a continuación: Tengo una serie de datos de diferentes respuestas, agrupados por columnas (a partir de la D) y quisiera obtener sus modas, es decir el valor que más se repite, en función de que la clase a la que pertenecen, la cual la tengo definida en la columna D. [TABLE] [TR] [TD]Columna [/TD] [TD] D [/TD] [TD]E [/TD] [TD]F [/TD] [TD]G [/TD] [TD]H [/TD] [TD]I [/TD] [TD]J [/TD] [TD]K [/TD] [TD]L [/TD] [/TR] [TR]…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.7k visitas
  21. Started by spidrman0778,

    Que tal como estan..... soy nuevo en esto de empezar hacer macros en excel, y tratando de hacer la siguiente consulta Private Sub CargarData1() Set rs = New ADODB.Recordset 'consulta = "SELECT * FROM example" consulta = "Select idappact, codappact, desapeta, desapsub, nomapact, resappact, Date_format(fecappini,'%d/%m/%y'), " & _ " Date_format(fecappfin,'%d/%m/%y'), Date_format(fecapprea,'%d/%m/%y'), porappava, obsappact, diaapact, obsextact From appactividades " & _ " INNER JOIN apetapas on idapeta = idappeta INNER JOIN apsubetapas on idapsub = idappseta " & _ " INNER JOIN apactividades …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 767 visitas
  22. 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
    • 794 visitas
  23. En la ejecucion de una macro cuando filtras ,excel recupera una varible, funcion... (deconozco como llamarlo) , que te dice el total pone "se encontraron 2 de tres registros" en la parte inferior. ¿¿Cual es la variable que recoge esa informacion?? adjunto imagen para aclaracion. gracias y un saludo. .

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 621 visitas
  24. Hola, necesito que desde un formulario vba que tengo poder crear un documento word con los datos de la hoja vendedores de excel , es decir las tablas , y crear un grafico de ventas, que la informacion esta en la tabla ventas por mes, que tambien tiene a los vendedores, como podria hacerlo? gracias de antemano proyecto programacion modificado2.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
  25. Started by chapis14,

    Hola! Exelente foro, tengo un problema ya que no puedo correr el bucle, bueno explico lo que quiero hacer, tengo varias columnas y de las cuales cada fila cuenta con un valor diferente, en una nueva columna se debe sacar el numero mayor de cada fila, despuès de eso en otra columna se debe hacer con un bucle la resta del numero mayor con cada una de las columnas y cada que sea 0 asignar un nombre, pero me sale el error 1004. este es el codigo: f = 1 For Each o In Range("R2:R6362").Cells Nombre = "" b = 0 f = f + 1 For porce = 0 To 7 Set a = Worksheets("ejemplos").Cells(f, porce) a = a + 1 If (o = 0) Then o.Value = "Sin datos" Nombre = o.Value End If If (o.Va…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.5k 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.