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?
8680 temas en este foro
-
Buenos días amigos, un gusto saludarlos de nuevo, Espero alguien me puede dar una idea de como puedo realizar este pequeño proyecto! Tengo un libro donde lee un archivo xml. Dentro del archivo xml trae complemento, como a continuación se muestra: Esta información ya lee el código, sin embargo, solo he logrado dejar esta información en una sola celda, pero lo que necesito es dejar en diferentes celdas cada IdDocumento. Cabe mencionar que en cada .xml esta información es variable. Adjunto archivo de ejemplo y unos xml por si necesitan realizar pruebas. De antemano gracias. Libro1.xlsm data.xml data - copia.xml
-
0
Reacciones de usuarios
- 3 respuestas
- 3.6k visitas
- 1 seguidor
-
-
Buenos días estimados, estoy lidiando con un tema que no encuentro ayuda en ningún lado. El problema es así, en un libro de excel se le agregó dos filas con campos dinámicos de datos. Antes de que se le agreguen estos campos, el libro funcionaba bien, generaba una copia de una de las hojas en una hoja nueva y copiaba bien todo ahora no copia el alto de las filas, sale todo en tamaño normal. La verdad que ya no se que hacer para resolver este problema. El código que genera este informe es el siguiente: Option Explicit Sub genDefinitivo() ' ' Macro3 Macro ' Macro grabada el 28/10/2008 por dapezteguia ' ' Dim tArchOrig As String, tArchDes As String, tArchDefinitiv…
-
0
Reacciones de usuarios
- 7 respuestas
- 3.6k visitas
-
-
Hola Amigos tengo varias macros que filtran una serie de datos, me gustaria saber como puedo saber en una celda especifica que macro se ejecuto la ultima vez en un ejemplo simple que adjunto, me funciona para cuando ejecuto la primer macro y me indica en la celda h2 un 1, pero no se como puedo hacer que funcione si ejecuto la macro2 o mas ojala me puedar ayudar gracias las macros que utilizo son macro filtro activo.rar
-
0
Reacciones de usuarios
- 7 respuestas
- 3.6k visitas
-
-
Hola a todos, escribi una macro para que cuando apieto un boton en un textbox me tenga que aparecer la ultima fecha ingresada, pero no funciona, lo dejo por si alguien me puede dar una mano y decirme que estoy haciendo mal. yo creo q es xq deberia transformar las fechas a otro tipo de dato para comparar o compar los años, los meses y los dias por separado. Muchas gracias! Prueba Visual.rar
-
0
Reacciones de usuarios
- 3 respuestas
- 3.6k visitas
-
-
Saludos a todos me pudieran ayudar con este codigo el cual pretende como menciona el encabezado pasar los datos de listbox a una tabla usando sentencias SQL lo intente de esta manera: ABRIR_RS 'Crea el objeto recordset Sql = "Select*from [productos$]" Rs.Open Sql, Cnn, 1, 1 With Lista 'listbox For i = 0 To .ListCount - 1 Rs.AddNew Rs!ID = .List(i, 0) Rs!CODIGO = .List(i, 1) Rs!ARTICULO = .List(i, 2) Rs!PVP = .List(i, 3) Rs!IVA = .List(i, 4) Rs!MEDIDA = ComboBox1.List(ComboBox1.ListIndex, 0) Rs!CATEGORIA = ComboBox2.List(ComboBox2.ListIndex, 0) Rs!STOCK_MINIMO = .List(i, 7) Rs!ESTATUS = .List(i, 8) Rs.Update Next i …
-
0
Reacciones de usuarios
- 7 respuestas
- 3.6k visitas
-
-
Buenos Días amigos, tengo una pequeña bodega y quiero implementar algo practico y rápido para su manejo, para ello estoy haciendo una base de datos con macros y formularios pero mi problema consiste en detectar la fecha en que venció un producto y así sacarlo de circulación, para ello hago operaciones con fechas pero no me funciona, así mismo deseo saber que productos vencerán dentro de 10 días para tomar las precauciones del caso. Espero puedan ayudarme, gracias de antemano. Adjunto prototipo de lo que pienso hacer. valida_fecha.zip
-
0
Reacciones de usuarios
- 5 respuestas
- 3.6k visitas
-
-
Hola a todos, Muchas dar las gracias por los aportes y comentarios. Soy nueva en esto de la programación en VBA. Tengo un formulario que ingresa información básica, este formulario registra en una hoja principal llamada Hoja1 y ordena los datos de manera descendente, hasta ahí, todo en orden, lo que se me ha complicado en que el último registro que se realice en esta hoja debe de copiarse y pegarse en otra hoja y debe ordenarse de la misma manera ( descendente). es decir: 1. Luego de registrar los datos en la hoja de origen, debo de seleccionar el rango de columnas a copiar. 2. ir a la hoja destino y antes de pegar el registro, se debe de ir …
-
0
Reacciones de usuarios
- 11 respuestas
- 3.6k visitas
-
-
Buenos días!! He realizado una plantilla excel para poder cuadrar las cajas diarias, la del almacén y las liquidaciones de los vendedores. Hay datos que coge del programa con el que trabajamos SAP, mediante una consulta SQL, (el saldo actual, el saldo inicial y el flujo de caja del día), el resto se rellena a medida que se van contado monedas. He intentado hacerlo lo mas automático posible, pero hay dos cosas que hay que hacer antes de cerrar el documento que si no se hacen, no vale para nada... que son: Actualizar datos y rellenar la columna G de la hoja 2, y a veces se olvida... Mi idea es: 1-Una macro que actualice los datos de la consulta SQL que se ejecute cuando v…
-
0
Reacciones de usuarios
- 0 respuestas
- 3.6k visitas
-
-
buen dia tengan, de nuevo por estos lados con la interrogante de como puedo usar toda lo hoja de un libro ya que me da error el formulario cuando tengo demasiados datos (arriba de los 1000). La manera y forma en que esta hecho el formulario me gusta pero no logro encontrar el error de ¿porque no puedo usar toda la hoja?, principalmente cuando le doy buscar un dato, me podrian ayudar a poder utilizar bien este formulario para poder meterle la cantidad de datos que contiene la hoja (xfd por 1048576). espero sus amables aportaciones y de antemano gracias. todalahojaconlistbox.rar
-
0
Reacciones de usuarios
- 17 respuestas
- 3.6k visitas
-
-
Hola: Estoy trajando con una hoja de calculo que quisiera que en el rango de c6 : s54 , si hubiera alguna modificación, la celda modificada en su fondo se vuelva de color amarillo. Gracias Jesús Hojamodificada.rar
-
0
Reacciones de usuarios
- 5 respuestas
- 3.6k visitas
-
-
Buenas foro. Estoy intentnado aplicar el comando attrib /s /d -r -h -s *.* en la unidad d: y no se como hacerlo para insertar dos comandos, con uno solo no tengo problema Call Shell("cmd.exe /S /K" & "D:", vbNormalFocus) Como seria para justo despues aplicar el comando attrib?
-
0
Reacciones de usuarios
- 2 respuestas
- 3.6k visitas
- 1 seguidor
-
-
buen dia... tengo una duda........ tengo la siguiente macro para insertar una imagen en mi hoja,desde una carpeta local : Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("B1:B3")) Is Nothing Then Image1.Picture = _ LoadPicture("D:\FOTOS SISTEMA\" & Target & ".jpg") End If End Sub lo que sucede que es quiero inmovilizar la imagen, que me aparezca siempre, es decir que al paso que me desplace en la hoja, la imagen siempre este visible, sin necesidad de inmovilizar paneles ya que este me quita mucho espacio de trabajo.
-
0
Reacciones de usuarios
- 6 respuestas
- 3.5k visitas
-
-
Buenas tardes; soy nueva trabajando con macros y tengo una hoja llamada Buscar datos (hoja1)que tiene el combobox1 y necesito que al darle click al combo me cargue los datos de la hoja cooperativas (hoja2) del rango a7;a30 sin repetirme datos o mostrar espacios en blanco ya que en esta columna existen varias veces los mismos nombres o hay celdas vacias. Agradeceria de antemano su ayuda! Copia de Control de Cooperativas.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 3.5k visitas
-
-
Hola a todos! Espero alguien me pueda ayudar. Tengo el siguiente código pero al ejecutarlo coloca la formula con referencias fijas (con signo $) si quisiera que fuera relativa para poder copiar y pegar ¿cómo puedo cambiar el código para que la celda sea relativa o fija? ¿Alguna idea? fil = ActiveCell.Rows.Row Selection.FormulaR1C1 = "=(R" + Trim(Str(fil)) + "C4*8)" Muchas gracias.
-
0
Reacciones de usuarios
- 5 respuestas
- 3.5k visitas
-
-
Buenos Días, Como puedo hacer para limpiar mi tabla dinámica sin necesidad de hacerlo uno por uno. ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Producto").Orientation _ = xlHidden ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Mes").Orientation = _ xlHidden ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Departamento"). _ Orientation = xlHidden ActiveSheet.PivotTables("Tabla dinámica1").PivotFields("Promedio de ISRed"). _ Orientation = xlHidden[/CODE] Espero su ayuda Gracias.
-
0
Reacciones de usuarios
- 0 respuestas
- 3.5k visitas
-
-
Buenas noches quisiera pedir su ayuda ya que tengo un archivo de excel con aproximadamente 1000 registros. En la columna "C" tengo datos los cuales deberían estar concatenados, sin embargo, estan dispersos, por ejemplo, la celda C1 dice HOLA, la celda C2 dice SOY y la celda C3 dice JUANITO, el resultado que quiero lograr es HOLA SOY JUANITO en una sola celda a partir de donde empieza la palabra HOLA. No importa que queden celdas vacias debajo de cada cadena concatenada. Adjunto un archivo donde se puede ver un ejemplo de los datos que tengo. Agradezco su apoyo. Prueba.xls
-
0
Reacciones de usuarios
- 5 respuestas
- 3.5k visitas
-
-
Hola buenas tardes, Escribo porque tengo un problema con mi macro en excel, debido a que actualmente es ocupada por una persona que ingresa datos a los diferentes formulario que tiene, el problema es que necesito que el archivo se pueda usar en más computadoras de forma simultanea. Estuve averiguando y creo que una de las opciones es que crear una especie de servidor donde 2 computadores en red se ocupen dentro de la misma carpeta el archivo, esto es posible? Alguien conoce algún método en el cual me permita ejecutar mi macro de excel en más computadoras de forma simultanea? Gracias.
-
0
Reacciones de usuarios
- 10 respuestas
- 3.5k visitas
- 1 seguidor
-
-
Hola, Estoy intentando hacer una rutina que me haga lo siguiente: Tengo un textbox multilínea y quisiera que al pulsar un botón se me insertara en el textbox, justo en el punto donde está el cursor, un separador de listas muy simple, por ejemplo *--------------*, pero no lo consigo. El problema que tengo es que al hallar la posición del cursor NO me tiene en cuenta los saltos de línea que tiene el texto original del textbox hasta esa posición del cursor Os paso un ejemplo muy simple de lo que quiero, es parte de un programa más complejo, pero con este pequeño fragmento de código es suficiente Muy agradecido de antemano separador.xlsm
-
0
Reacciones de usuarios
- 10 respuestas
- 3.5k visitas
-
-
Buena Tardes les escribo por la siguiente duda. Estoy construyendo una macros, para enviar datos de UserForm en excel a word, todo funciona perfectamente. excepto la validación de un texbox en el formulario, los cuales estan agrupado en unos frame. al precionar la tecla enter, en un texto en blanco lanza un mensaje de error, pero al ir al ultimo texbox de cada frame, no realiza la validación y simplemente pasa al otro texbox les adjunto mi archivo para dejarlo todo mas claro prototipo_luminaria.rar
-
0
Reacciones de usuarios
- 4 respuestas
- 3.5k visitas
-
-
Buenos dias a todos, Tengo una macro la cual hace lo siguiente: 1. Selecciona registros de la fila 321 a la 470 y los copia desde la fila 500 en adelante, esto con el fin de poderlos trabajar. 2. Rutina para borrar los registros en blanco, o sea tomar los registros de la posición 500 a la 649. Problema: No me borra los registros o filas en blanco, ya que no se como definir el rango y me lo pueda tomar la rutina que tengo. Relaciono la Macro: Sub Macro4() ' ' Macro4 Macro ' ' Desabilita los campos de Nombre Px y Tratamiento Application.EnableEvents = False Application.ScreenUpdating = False ActiveSheet.Unprotect Cells.…
-
0
Reacciones de usuarios
- 16 respuestas
- 3.5k visitas
-
-
Hola ¡ Soy nuevo en este foro y también en el tema de las MACROS y quiero pedir de su valiosa ayuda para poder automatizar con una macro un archivo de clientes(ADJUNTO ARCHIVO CLIENTES) el cual ya ordené utilizando el grupo esquema de la pestaña datos con el icono de subtotal de excel. No obstante, por cada Total de clientes quisiera insertar dos filas debajo. En la primera fila insertada en la columna F que escriba IVA 16% y en la columna G me realice el cálculo multiplicando el total por el 16% por cada cliente. En la segunda fila insertada escribir en la columna F la Total con IVA por cada Cliente y en la columna G me realice la sumatoria del Total …
-
0
Reacciones de usuarios
- 9 respuestas
- 3.5k visitas
- 1 seguidor
-
-
Buenas tardes, me gustaría que pudierais ayudarme, con una macro, me explico: Tengo muy poca experiencia con las macros e hice una que todos los días me crea una hoja nueva y le pone la fecha actual, pero mi problema empieza cuando intento pegar en la celda M14 de el día de hoy la celda M14 del día anterior. Lo que hice es lo siguiente: Sub copiardatos() ' ' dim fechaactual as date Dim fechaanterior As Date fechaactual = "dd-mm-yy" fechaanterior = Format(Date - 1, "dd-mmm-yy") fechaactual = Worksheet fechaanterior = Worksheet activeworksheet = ("fecha anterior") Range("M14").Select Selection.Copy …
-
0
Reacciones de usuarios
- 4 respuestas
- 3.5k visitas
-
-
Hola, quisiera saber si pueden ayudarme hacer una macro que cree una carpeta con el nombre del cliente (celda C6) y dentro de esta carpeta que guarde la hoja (NOTA_DE_TRABAJO) con el numero de la (celda F2) y la fecha del día, quisiera que se guardara en el disco duro "E" en la carpeta "Notas", y al guardar quedarme en la hoja activa (CALCULADOR). Esta macro la copie de internet pero no se modificarla. EJEMPLO: Sub guardar_Click() Range("A1").Columns.Hidden = Not Range("A1").Columns.Hidden Dim wb Dim ruta, carpeta, libro, texto As String ruta = InputBox("E:\notas") 'ruta = "E:\notas" carpeta = ActiveSheet.Range("C6").Value libro = ActiveSheet.Range("F2").Value…
-
0
Reacciones de usuarios
- 4 respuestas
- 3.5k visitas
-
-
Quisiera saber como puedo hacer para que en un userform me aparezca en una casilla tres valores hallados en la hoja excel y además que grafique una gráfica de barras de dos de esos valores. macrocontar.xls
-
0
Reacciones de usuarios
- 6 respuestas
- 3.5k visitas
-
-
Hola a todos, si alguien me puede ayudar con lo siguiente:Tengo una hoja con varias boletas de pago, la cual su rango es variable y lo que necesito es establecer el rango de impresión, tal como se muestra en el archivo adjunto. Muchas gracias. BOLETAS.xls
-
0
Reacciones de usuarios
- 6 respuestas
- 3.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.