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?
8682 temas en este foro
-
Hola compañeros del foro, Tengo el siguiente problema de novato con el presente array que he creado: Este es el código: Option Explicit Option Base 1 Sub adminTemp() Dim admin As String admin = Array("...", "...", "...", "...", "Administrador", "Conectado", "...", "...") Dim fila As Long fila = Sheets("CONEXIONES").Range("A1048576").End(xlUp).Row Dim columna As Byte For columna = 1 To UBound(admin) If Sheets("CONEXIONES").Cells(fila, columna).Value = admin(columna) Then Sheets("CONEXIONES").Rows(fila).Delete Shift:=xlUp Next columna End Sub En otras palabras, me dice que el problema está en la declaración de la …
-
0
Reacciones de usuarios
- 3 respuestas
- 2.5k visitas
-
-
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
-
-
Hola a todos, estoy dándole vueltas y vueltas y no veo por donde meterle mano. Lo que pretendo es distribuir un texto de forma homogénea dentro de un textbox miltiline, es decir que una vez digitado todo el texto pulsemos Enter y el contenido del mismo quede distribuido tal cual se muestra en el formulario incluido en el archivo adjunto. El Textbox tiene en este caso un límite de 30 caracteres por linea. Alineado Textbox.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 2.5k visitas
-
-
Buen día estimados, Solicito su valioso apoyo para orientarme con lo siguiente: Quiero copiar un archivo Excel de una carpeta a otra por medio de una macro, sin embargo este proceso lo realizan diferentes usuarios por lo que el directorio del archivo cambia de acuerdo al usuario de red, tengo el siguiente código VBA pero no funciona: FileCopy "C:\Users\%Username%\Documents\SAP\SAP GUI\MB5L.xls", ThisWorkbook.Path & "\MB5L.xls" %Username% puede ser Rodrigo, Lorena, etc. Gracias de antemano por su apoyo.
-
0
Reacciones de usuarios
- 4 respuestas
- 2.5k visitas
-
-
Estimados amigos: En un archivo Excel tengo una tabla de datos bastanteextensa que importo de otra aplicación y genera un archivo con numerosas hojasy miles de registros. A modo de ejemplo os adjunto un libro que ya contiene unamacro que me permite eliminar filas de manera aleatoria en función de un rangoseleccionado: desde fila, hasta fila y el número de líneas que se deseanborrar,pero necesitaría concretar más la macro y que haga también lo siguiente:Que para una hoja concreta, seleccionando una columna y un concepto existenteen celdas de esa columna, y un importe sumatorio de valores de otra columna quecumplan ese criterio, me borre aleatoriamente filas hasta obtener…
-
0
Reacciones de usuarios
- 11 respuestas
- 2.5k visitas
-
-
Hola que tal? Estoy intentando realizar un contador de manera que vaya sumando o restando un "1" en la celda "DESPLAZA", hasta que se cumpla que la "SUMA (< 32)" de una columna de datos "DESV DESFA" sea <32 y sea el valor más cercano a 32. La celda "DESPLAZA" hace que varíe la columna "REF DESPLA" y a su vez ésta modifica el contenido de "DESV DESFA". Espero haber podido explicarme un poco. Un saludo y gracias. [TABLE=width: 435] [TR] [TD]A[/TD] [TD]B [/TD] [TD]Ref[/TD] [TD]REF DESPLA[/TD] [TD]DESV DESFA[/TD] [/TR] [TR] [TD]100[/TD] [TD]37,2[/TD] [TD]33[/TD] [TD]19[/TD] [TD]0,0[/TD] [/TR] [TR] [TD]125[/TD] [TD]31,4[/TD] [TD]36[/TD] [TD]22[/TD…
-
0
Reacciones de usuarios
- 7 respuestas
- 2.5k visitas
-
-
Buen día compañeros: Quisiera pedirles una ayuda de como crear una tabla dinamica y una macro para realizar un un resumen del consumo por unidad/mes en pesos, litros y el porcentaje del incremento o decremento, de tal manera que me sirva para ir midiendo cuales son los vehiculos que mas consumen y determinar la razón. Abjunto archivo para que me puedan ayudar. Saludos CONTROL VALES COMBUSTIBLE.xls
-
0
Reacciones de usuarios
- 0 respuestas
- 2.5k visitas
-
-
Hola: Gracias de antemano por la atención de leerme. Mi problema es que mis macros son muy rudimentarias, por mi falta de formación. Cuando tengo que extraer un dato determinado de otra columna, hoja, libro, etc... Siempre utilizo el mismo sistema: Sub Ejemplo()[/b] Range("AJ2").Select ActiveCell.FormulaR1C1 = _ "=INDEX(CLIENTE_GESTOR!C3,MATCH(RC[-35],CLIENTE_GESTOR!C1,0),1)" A = 2 While Cells(A, 1) <> "" A = A + 1 Wend Range("AJ2").Select Selection.Copy Range(Cells(3, 36), Cells((A - 1), 36)).Select ActiveSheet.Paste Range("AJ:AJ").Copy Range("AJ:AJ").PasteSpecial xlPasteValues Range("AJ:AJ").Replace What:="#N/A", Replacement:=""…
-
0
Reacciones de usuarios
- 4 respuestas
- 2.5k visitas
-
-
Hola a todos, lo molesto por lo siguiente. Hago una consulta web desde excel por una Url, selecciono una tabla la cual contienen muchos hipervinculos y me aparece en excel, hasta ahi bien. Pero lo que yo necesitaria es la informacion dentro de ellos. Los cuales son tablas de igual tamaño pero diferente información para cada hipervinculo (que son mas de 150), necesito almacenar en una hoja para filtrar datos y demas, tendria que realizar una consula de la consulta o algo asi. Intente aprender un poco el funcionamiento de las macros pero veo que esto sale de mis conocimientos. Espero queme puedan dar una mano. Saludos!
-
0
Reacciones de usuarios
- 6 respuestas
- 2.5k visitas
-
-
Alguien sabe si existe código vba para hacer copias de archivos de una carpeta a otra. En este caso necesito una macro que me copie varios archivos pdf de una carpeta a otra conforme los va encontrando. Ya tengo el código para encontrarlos. Lo que necesito es el código para copiarlos. Gracias de antemano por su ayuda
-
0
Reacciones de usuarios
- 1 respuesta
- 2.5k visitas
-
-
Buenas tardes! Soy nueva en el foro ya que comence hace poco a trabajar con Excel. Hace unos dias que necesito reemplazar valores de varias planillas para poder subir a una pagina web. El problema es que son miles de productos a los cuales debo agregarles sus colores principales por medios de codigos que solicita la pagina para poder realizar un filtro. Tengo dos hojas, en una todos los productos por talle donde ingreso el color primario y la segunda hoja, los colores que quiero reemplazar por su respectivo código: https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xlp1/t31.0-8/14311264_1659514134359551_3946213478181993442_o.jpg https://fbcdn-sphotos-…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.5k visitas
-
-
Que tal compañeros, quiero saber que numero indice corresponde a un elemento, entiendo que el primero es cero hasta N elementos, pero desconozco el por que por que parece que cuando le pongo Combobox.RemoveItem (2) Combobox.RemoveItem (3)[/CODE] Borra los datos del siguiente indice por ejemplo 3,4. En el ejemplo del excel tengo dos combobox en funcionamiento, que si se selecciona CONDOMINIO del primer combo que dice registro patrimonio (segundo combobox), nomas quede PREHISPANICO, LATIN, EGIPCIO y se borren todos los demás del JAPONES al Africano. son siete elementos de registro patrimonio en total, si pongo el 7 en el remove me marca error de argumento no valido e…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.5k visitas
-
-
Holas Tengo una macro que sirbe para calcular unos importes a partir de grupos familiares. Ésta obtiene la info de una hoja, lo almacena en arreglos y luego procede a copiarlos en la hoja donde están las formulas para realizar los cálculos. La macro funciona sin errores, el problema que tiene es que es demasiada lenta dependiendo del procesado que tenga la máquina donde se usa. En una máquina con Windows 7 ultimate de 64 bits con un procesador core i7 (primera generacion) y 8GB de memoria se demora 30 minutos la ejecución de 1500 registos y sólo usa el 30% del procesador, pero si ejecuto estos mismos registros en una máquina con Windows XP sp3 dual core con 2 gb de memo…
-
0
Reacciones de usuarios
- 5 respuestas
- 2.5k visitas
-
-
Bueno antes que todo agradecer por la ayuda que brindan a los que no sabemos tanto de excel , ahora manos a la obra : Lo que necesito es saber si existe una macro para que imprima una hoja en PDF , adjunte y luego se envie a un correo por outlook , a una direccion ya definida , que el asunto sea lo que se escriba en la celda E1 , de ante mano muchas gracias agosto1.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 2.5k visitas
-
-
me explico.... 1111 alex colombia 24 2222 daniel peru 26 que código puedo ocupar en un botón de visual basic para buscar la fila que tiene el código 1111 y elimine la fila completa? (osea elimine el 1111 alex, colombia y 24) la idea es hacerlo desde un botón dentro de un formulario. espero alguien me pueda dar el código o referencias. Muchas gracias
-
0
Reacciones de usuarios
- 4 respuestas
- 2.5k visitas
-
-
Buenas soy nuevo en esto de la programación de vba en excel. Tengo un problema con un combobox y queria ver si me podrian ayudar. Necesito que un combobox se llene con la información de la columna A y otro combobox con la información de la columna B. Pero necesito que cada vez que se agregue información nueva en estas columnas esta aparezca en el combobox. Por eso no quiero usar el rowsource sino codigo. Tengo lo siguiente Private sub userform_initialize () Sheets ("variables").select Range ("A2").select While activecell <>"" Combobox1.additem activecell Activecell.offset (1, 0).select Wend End sub O tambien tengo Private sub userform_initialize () Sheet…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.5k visitas
-
-
Hola a todos! Tengo un problema ya que no se como generar esta parte de la macro, por ejemplo si tengo un libro llamado Capital Federal y su unica hoja tambien se llama Capital Federal, y tengo una macro que genera hojas con el nombre las ciudades de la Argentina, necesito saber como hacer que de esa nueva hoja llamada Capital Federal busque el libro Capital Federal y agregue la hoja nueva SIN REEMPLAZAR LA HOJA YA EXISTENTE, se puede lograr esto? Aprecio mucho su aporte, ayuda u orientacion. Desde ya muchas gracias. SAludos cordiales. Gerardo A.
-
0
Reacciones de usuarios
- 14 respuestas
- 2.5k visitas
-
-
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
-
-
Hola buen día a todos. tengo una macro de asistencia, lo venia trabajando en windows 7 sin problema, pero al migrar el equipo PC a windows 10, manda este mensaje de error, adjunto archivo, por su valioso apoyo les anticipo las gracias, bendiciones ASISTENCIA.xlsm
-
0
Reacciones de usuarios
- 11 respuestas
- 2.5k visitas
- 2 seguidores
-
-
Buenas tardes, En una hoja tengo dos columnas, la primera con las rutas completas de 14000 archivos, que tienen distintas ubicaciones. Y la segunda, con las carpetas donde tengo que copiar estos archivos. Es decir, el archivo cuya ruta está en A2, tengo que copiarlo en la ruta indicada en B2, igual A3 - B3, y así sucesivamente. He intentado algunas cosas con CopyFile, pero sinceramente no tengo mucha idea, y sólo consigo copiar un archivo, vamos nada. Necesito que me indiquen como hacer una macro que los copiase o moviese de una sola vez. He subido un ejemplo con unos pocos registros. Un saludo. Ejemplo.rar
-
0
Reacciones de usuarios
- 4 respuestas
- 2.5k visitas
-
-
Buenas noches, Dispongo de una macro que rellena automáticamente los campos de un oficio en formato word; necesito que al generar el archivo word también arroje la ventana de Guardar como... para así guardar con otro nombre y de esa forma no sustituya el original y luego se cierre. Dejo captura específica de esa parte del código tal cual como está...
-
0
Reacciones de usuarios
- 2 respuestas
- 2.5k visitas
-
-
hola no logro cuadrar los datos en un formulario vb, estos datos se intruducen en una hoja de excel, el cual ya esta resuelto,, pero no puedo cuadrar los offset para q queden bien parejos debajos de los rotulos en el formulario,, y tampoco me listan, cuando llamo un dato,, que tengo q mover para q me queden parejo adjunto foto este es el codigo If ActiveCell.Value = 0 Then ActiveCell.Offset(0, -50).Select LISTACLI.ColumnCount = 4 LISTACLI.AddItem LISTACLI.List(LISTACLI.ListCount - 1, 0) = ActiveCell.Value ActiveCell.Offset(0, 1).Select LISTACLI.List(LISTACLI.ListCount - 1, 1) = ActiveCell.Value ActiveCell.Offset(0, 1).Select LISTAC…
-
0
Reacciones de usuarios
- 21 respuestas
- 2.5k visitas
-
-
Buenas noches a todos; Aquí traigo una consulta, tiene que ver con la posibilidad de actualizar una tabla en Excel a partir de una tabla (o una consulta en Access), creo que la forma de hacerlo sería mediante ADO. He probado a hacerlo mediante los botones de formulario en datos, pero me encuentro con el problema de que al tener el archivo de Access una contraseña siempre aparece la ventana conexión pidiendo usuario (admin) y contraseña. Como no quiero que aparezca esa ventana ni la posibilidad de que se vea ningún tipo de contraseña, creo que la mejor opción sería mediante ADO. La base de Access tiene contraseña (la tiene que tener) y es 123 He visto algunas consultas …
-
0
Reacciones de usuarios
- 0 respuestas
- 2.5k visitas
-
-
Hola, hay alguna forma de que si al realizarse una búsqueda y luego moficiar "X" dato, éste, se actualice en la base de datos directamente? es decir, en la fila correspondiente sin tener que hacer otra macro para realizar este trabajo?. Adjunto el archivo: En la página Buscador, traigo los datos de la base de datos, lo que quiero, es que si modifico algo en esta hoja, tenga la opción de guardar los datos modificados... Tal vez, con un botón opcional que diga, actualizar datos.... No se me ocurre como hacerlo... Muchas Gracias LIBRERIA 1.xls
-
0
Reacciones de usuarios
- 5 respuestas
- 2.5k visitas
-
-
Buenas, Con excel 2003 tengo un formulario cuyos eventos 'enter' (obj_GetFocus) y 'exit' (obj_LostFocus) controlo desde un modulo de clase salvo en los controles internos (textbox, commandbutton...) del control Multipage. Hasta llegar a el (indice de tabulación: 15) paso por controles 'textbox', 'optionbutton' y 'cuadros combinados' y en todos consigo poner el valor en el formato que quiero, pintar de otro color al entrar (.BackColor) y salir para saber en cual estoy, guardarlo en una columna de una hoja concreta si el valor cambia... salvo cuando llego al multipage que nada funciona y no hace por ejemplo lo anterior indicado en los distintos controles existentes en cad…
-
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 sergio@ayudaexcel.com
Información adicional: Encontrarás más información en la política de privacidad.