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?
8690 temas en este foro
-
Hola amigos del foro. estoy realizando una macro en excel en donde tengo mi base de datos de N registros y quiero pasarlo a un formato de word ya predeterminado y que vaya poniendo aleatoriamente los datos de excel en word y guarde el word en una ruta, lo q pretendo hacer es que se realice masivamente la informacion de excel a word. este es un codigo que estoy utilizando pero este lo hace uno por uno y no guarda el word cuando lo crea espero me puedan orientar para poder realizar este trabajo. Sub exportaraword2() Dim datos(0 To 1, 0 To 4) As String '(columna,fila) patharch = ThisWorkbook.Path & "\Plantilla ASF.docx" Set objWord = CreateObject("Word.Applica…
-
0
Reacciones de usuarios
- 0 respuestas
- 2.2k visitas
-
-
Estimados amigos del foro, vuelvo a subir un tema que he diseñado su planteo de diferente manera, pero voy a repetir la explicación de la misma Se trata de un cronograma en el que constan clases teóricas y clases practicas en determinados días por ejemplo las teorías están los lunes y las practicas los martes en las fechas indicadas allí mismo en la tabla, cuando todo esta bien voy marcando los temas en la columna A haciendo notar que la clase ya se ha hecho o cumplido al seleccionar se ve un visto de color verde y la fecha se hace de color verde igualmente, pero si no se pudo ejecutar la clase en una fecha entonces deberá reorganizarse, claro vuelvo a seleccionar e…
-
0
Reacciones de usuarios
- 5 respuestas
- 11.5k visitas
-
-
La siguiente macro me permite ordenar datos segun el apellido paterno, lo que quisiera saber es como hacer para aumentar mayor ordenes, por ejemplo que ahora ordene como el apellido materno, como lo adinaria Sub macro22() If [L2] = "ascendente" And [L5] = "Paterno" Then For x = 2 To 40 For y = x + 1 To 41 If Cells(x, "E") > Cells(y, "E") Then Variable = Cells(x, "E") Cells(x, "E") = Cells(y, "E") Cells(y, "E") = Variable Variablea = Cells(x, "F") Cells(x, "F") = Cells(y, "F") Cells(y, "F") = Variablea Variableb =…
-
0
Reacciones de usuarios
- 7 respuestas
- 3k visitas
-
-
buenas tardes, escribo con la finalidad de solicitar ayuda en cuanto a una base de datos en la cual tengo 11 columnas de las cuales las 7 primeras tienen valores duplicados, y en las 4 ultimas estos valores deben sumarse al eliminar duplicados.cargo un excel con dos hojas, Hoja1 como se muestran los duplicados y Hoja2 como debería ser el resultado.espero me puedan colaborar con esta base de datos.Gracias de antemano Prueba Utilidades.rar
-
0
Reacciones de usuarios
- 3 respuestas
- 5.5k visitas
-
-
Buenos dias. Trabajo en una Fundación y estoy preparando un excel con macros. Utilizamos como intranet el Sharepoint de Microsoft, y tenemos contratado el Office 365, aunque cada usuario tiene instalado tambien el Office en su ordenador. El problema lo tengo en que un excel con macros no se puede abrir desde Offcie 365 porque no soporta macros. En el sharepont ya he cambiado que la forma de abrir el archivo escel sea siempre desde la aplicación del escritorio, es decir, desde el excel instalado en el ordenador local. Pero solo funciona con el navegador Internet Explorer, hay muchos usuarios que utilizan el Chrome. Se me ocurren dos posibles soluciones (pa…
-
0
Reacciones de usuarios
- 2 respuestas
- 14.4k visitas
-
-
Hola, no salgo de un problema cuando ya estoy con otro, dichoso gráfico. Os cuento, hay las dos listas concatenadas en una tercera lista: Lista1 –– Lista2 ––––– Lista3 1 Mañana 1 Mañana 2 Tarde 2 Tarde En la lista desplegable se muestra la tercera, que al escoger una de las opciones de esa lista por ejemplo “1 Mañana”, en la celda se queda el uno “1”, que desde una macro busca ese texto “1” en un listado. Pero muestra un error, porque lo que busca no es el uno “1”, que es lo que se queda en la celda, si no que buscar el texto “1 Mañana”. Como puedo hacer para que desde esa macro busque el valor que se…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.2k visitas
-
-
Buenas, tengo el siguiente código: Private Sub CommandButton106_Click() Hoja2.Select Hoja2.Range("B1").Select While ActiveCell.Offset(0, 6) <> Empty ActiveCell.Offset(1, 0).Select boton = ActiveCell.Offset(0, 6) <======= En ésta linea de código obtengo el nombre de un botón que se encuentra digitado en una celda. (Ejemplo: "CommandButton6") y es almacenado en la variable boton, tal como se muestra. If Hoja1.txtcodigo.Text = ActiveCell Then boton.BackColor = &HFF& <======= Aquí está el problema, cuando quiero hacer referencia a ese nombre como un botón, no lo reconoce (Ejemplo: CommandButton6.Backcolor=&HFF…
-
0
Reacciones de usuarios
- 9 respuestas
- 5.3k visitas
-
-
Tengo la siguiente Macro, como puedo añadirle al nombre del archivo a guardar me coja un dato más a añadir, el valor de una celda Sub Guardar() nbre = Format(Now, "dd-mm-yyyy hh mm ss") ruta = "\\NTCL02\Calidad_a\Lcalidad\LABORATORIO_VARIOS\Peticion_ de_ensayos_FECHA" ActiveWorkbook.SaveCopyAs ruta & "\" & nbre & ".xlsm" End Sub
-
0
Reacciones de usuarios
- 13 respuestas
- 1.6k visitas
-
-
Buenos dias, Necesito ayuda para ver y aprender como modifico algunos detalles sobre la siguiente macro. Me explico. He encontrado esta macro por internet y quiero que las celdas tengan un color antes de introducir los datos, para que despues de introducir los datos el formato de las celdas sobre el color de fondo y la fuente quede igual como en toda la plantilla. Adjunto el documento, para que se haga una idea de lo que pretendo. Gracias. Saludos, COLOR CELDAS.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1.9k visitas
- 1 seguidor
-
-
Buenas tardes, agradeceria vuestra ayuda. Utilizo hasta ahora una macro que envia un rango de excel en pdf por outlook, la cual, enviaba el mismo pdf a todos los emails de una columna. Ahora lo que necesito es mandar el pdf pero a cada email, modificando cada vez la celda A1 por cada Id de la columna, para que asi se genere un pdf para cada id. La idea es que antes se mandaba un cuadrante a todo el mundo (1 pdf a todos los emails), y ahora quiero enviar el que corresponde a cada uno.(1 pdf a cada email) Imagino que se hara por un bucle, pero no se como insertarlo en la macro. Muchas gracias Calendario1.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 942 visitas
-
-
Hola, buenos días. Realmente he buscado en varios foros, antes de hacer la pregunta. Quisiera saber si me podrían ayudar con un problema que he tenido estos días de la nada... Digo de la nada, por que al parecer, se han hecho unos cambios de versiones de servidores, que en teoría no iban a generar problemas. Tengo un script en Excel, donde hago una consulta SQL Server, y extraigo información en base a fechas de entrada... Sin embargo, de la nada ha dejado de funcionar cuando lo ejecuto desde Excel, pero si lo hago desde un IDE de SQL Server se ejecuta perfectamente. Mi VBA es el siguiente: With Me CFechaI = Format(CDate(.ComboBox1.Value & "/"…
-
0
Reacciones de usuarios
- 0 respuestas
- 893 visitas
-
-
Buneos dias y muchas gracias de tod@s de antemano, tengo una base de datos de personal en la cual tienen asignado un puesto de trabajo asi como un material que se le asigna , me gustaria que cuando finalicen su periodo de trabajo el mateiral asignado , casco, chaleco, linterna, taquilla, se les quitaran y aparecieran como que estan disponibles para poder asignarlos a otra persona. pero si me gustaria que los datos de la persona permanecieran , sin tener asignado material. Muchas gracias por vuestra ayuda. tabla de material.xlsx
-
0
Reacciones de usuarios
- 0 respuestas
- 910 visitas
-
-
Hola!! Necesito unir tablas de distintas hojas de calculo y crear una nueva hoja, para esto he estado utilizando la siguiente macro (Adjunta) pero me entrega los valores que estan en la celda con formula y los necesito solo como valores. ¿Que puedo hacer en este caso? ¿Qué me recomiendan? Sub Extraer_Datos() Dim shDestino As Worksheet Dim ufo As Integer, ufd As Integer Set shDestino = Worksheets.Add(After:=Sheets(Sheets.Count)) shDestino.Name = "d" For I = 1 To Sheets.Count - 1 If Sheets(I).Name = "ESCUELAS" Then Else ufo = Sheets(I).Range("A" & Cells.Rows.CountLarge).End(xlUp).Row ufd = shDestino.Range("A" & Cells…
-
0
Reacciones de usuarios
- 2 respuestas
- 2.4k visitas
-
-
Buen dia Tengo un formato que va llenando un excel, debo cargar los datos de varios listbox a una determinada direccion de la hoja. En el adjunto el userform1 tiene el listbox2 que carga máximo tres filas, estas tres filas deben transferirse a la hoja "Chaeck in" en el rango A25 a Z25. Como la idea es que el usuario llene todos los formularios y haga correcciones si es necesario, el userform9 tiene el boton que carga la data de todos los fomularios a la hoja. No logro cargar el listbox; agradezco su acostumbrada ayuda. FORMATO CREACION DE PROVEEDORES 1.0.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 678 visitas
-
-
Hola a todos; Tengo una duda que no se como resolver y me gustaría salir de dudas. En un formulario he puesto a modo de prueba 18 labels y un botón que al ejecutarlo le quita el color de fondo a cada label. Lo que no sé es si es posible mediante un ciclo que controle el nombre de cada label y así evitar repetir tantas veces el mismo procedimiento. El procedimiento es el siguiente y lo pongo así porque no deja insertar código: Option Explicit Private Sub CommandButton1_Click() ' ¿Hay alguna manera para mediante una variable o función para no repetir ' "Me.Label_ 1 ---> 18" veces? Me.Label1.BackStyle = fmBackStyleTransparent …
-
0
Reacciones de usuarios
- 2 respuestas
- 649 visitas
- 1 seguidor
-
-
HOLA BUENAS NOCHES! DE ANTEMANO AGRADEZCO SU APOYO, AL NO SER EXPERTA EN EL TEMA DE MACROS ME VEO EN LA NECESIDAD QUE ME APOYEN CON ESTA PLANTILLA PARA OPTIMIZAR LAS ACTIVIDADES DE MI TRABAJO. ESTOY TRATANDO DE MODIFICAR ESTE LAYOUT PERO ME MARCA UN ERROR 13 EN TIEMPO DE EJECUCIÓN , NO COINCIDEN LOS TIPOS. LES ANEXO CAPTURA DE PANTALLA Y EL ARCHIVO. AGRADEZCO SU APOYO SALUDOS!! Libro1.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 506 visitas
- 1 seguidor
-
-
Hola necesito ayuda para crear una base de datos con macros y botones en exel donde me refleja las entradas salidas y un stock minimo asi mismo como crear mensajes de error y todo lo demas paso a paso
-
0
Reacciones de usuarios
- 1 respuesta
- 3.5k visitas
-
-
Cordial saludo, Requiero su valiosa ayuda para solucionar lo siguiente: En una hoja tengo varias columnas con muchas filas, cada fila contiene 6 valores entre 1 y 60 lo cual represento con el ejemplo del archivo adjunto. Lo que necesito poder lograr a través de código VBA de excel es que en una hoja aparte pueda digitar valores al azar que están en dicha muestra y que con ello el sistema me muestre en esta misma hoja las filas que contienen 5 o 6 valores comunes a los indicados en lo digitado indiferente de la columna en la que se encuentre cada uno de los valores. Remito adjunto ejemplo explicando lo que se necesita. agradezco a quien me pueda ayudar. gracias. bus…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Que tal amigos de ayuda excel ,miren quisiera un macros que me copiara ciertas celdas todas en horizontal del libro1 , pero la condicion seria que si la celda x8 del libro1 esta llena, entonces que copie todas las celdas seleccionadas del libro 1 al otro libro2 sino tiene contenido la x8 entonces pasa a la siguiente fila y asi hasta q verifique todas las filas q tengan datos y me valla copiando todas las que si tienen contenido en la x8. ejm: A B C D E F G X ----->FILAS . . 8 a b c 18/8/12 ------- 9 d e f …
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
Tengo un archivo de txt que necesito poder levantarlo y que me conserve el formato, pero necesitaria que me permita poder delimitar la longitud ya que por ejemplo al principio tengo una serie de NUMEROS unidos con un TEXTO, y eso por ejemplo lo quiero poner en dos columnas. aca les deje un ejemplo y el txt para que me ayuden. 20052614048PEREZ CARLOS F 001029758 0.00008000000 0 4774.12 4773.16 0.00 0.00 0.00 0.00 0.00 4773.16 4773.16 4773.16000 0.001 0.0011 1 0 0 4773.16 0.00 0.00 0.00 0.00 30 4773.161 0.00 0.00 0.00 4773.16 0.…
-
hola todos tengo dos reportes uno administrativo y otro individual en ambos reportes puse un boton para imprimir, que primero oculta las tres primeras filas y luego seleccionar la impresora a usar para imprimir y luego imprime toda la hoja luego muestra las filas ocultas, eso funcionaba muy bien hasta que empece a proteger las hojas en las macros pongo antes y despues ActiveSheet.Unprotect "ulloa" ActiveSheet.protect "ulloa"[/CODE] pero me genera problemas porque me sale un mensaje diciendome que no puede asignar o cambiar la propiedad hidden de la clase Range me muestra el problema en esta linea [CODE]Selection.EntireRow.Hidden = False[/CODE] probe mostrar la…
-
0
Reacciones de usuarios
- 0 respuestas
- 714 visitas
-
-
Hola a todos. Me gustaría saber si es posible que tras abrir el libro de excel, sólo se muestre la cinta de menu y el cuerpo de las hojas queden ocultas.
-
0
Reacciones de usuarios
- 0 respuestas
- 663 visitas
-
-
Hola a todos: Estoy intentando manejarme con las macros.. y bueno he conseguido por ahí algún código semejante a lo que quiero hacer pero con el problema de no entenderlo en su totalidad, a la hora de buscar información me cuesta mucho, eso si lo consigo (puede que sea por torpeza) averiguar qué significa el código y quería preguntar si existe en algún sitio alguna especie de guía o referencia para los distintos objetos, métodos, etc.. donde quede reflejado su uso y significado de sus parámetros. Pongo un ejemplo de lo que no he sido capaz de encontrar en el siguiente código: With ActiveSheet.QueryTables.Add( _ Connection:="TEXT;" & sPath, _ …
-
0
Reacciones de usuarios
- 2 respuestas
- 1.4k visitas
-
-
Hola, Buena noche. He buscado en el foro pero me parece que no existe alguna consulta que me funcione, les comento los datos: Grabé una macro que concatena los valores de las columnas A y B en la columna C, cuando grabe la Macro existían en mi ejemplo 300 filas, sin embargo, cuando la utilizo en otras hojas que tienen mas de 300 filas obviamente solo hay resultados hasta las celdas A300, B300 y C300, las demás no. ¿Existe forma en que Excel(2010) detecte el rango de celdas que tiene mi hoja de manera automática para que se ejecute la macro en todos lo datos, o sea, si en vez de 300 registros tengo 310 que detecte la ultima celda "activa" o "utilizada" y extienda la conc…
-
0
Reacciones de usuarios
- 4 respuestas
- 7.5k visitas
-
-
Hola, Soy poco diestro con las macros, pero me gustaría saber como hacer una macro. Tengo una lista inicial con diferentes registros (columnas).Voy a llamarla general. Quiero que copie, en hojas de calculo a continuación de la general, en función del valor introducido en varias columnas. Por ejemplo: en la hoja "general" tengo las columnas, nombre, apellidos, sexo, años. Quiero por ejemplo que en la hoja 1 me copie los que sean de sexo masculino y tengan 18 años. Entiendo que esto en la misma hoja se podría hacer con fórmulas, pero lo que quiero es que me saque directamente resultados a hojas de cálculo, pulsando un icono. Gracias por orientarme!
-
0
Reacciones de usuarios
- 1 respuesta
- 867 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 sergio@ayudaexcel.com
Información adicional: Encontrarás más información en la política de privacidad.