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?
8685 temas en este foro
-
Buenas gente, Me he cambiado a la version 2007 del Excel, y he estado leyendo que no soporta esta función. He leído por ahí y no consigo aclararme, asi que he optado al final por pediros un cable. Esta es la sencilla función que utilizaba yo: With Application.FileSearch .LookIn = ThisWorkbook.Path .Filename = Hoja1.Cells(24, 11) & ".xls" If .Execute > 0 Then 'existe archivo = ThisWorkbook.Path & "\" & Hoja1.Cells(24, 11) Application.ScreenUpdating = False Workbooks.Open (archivo) Set xlsheet = ActiveWorkbook.Sheets.Item(1) ThisWorkbo…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
hola a todos aqui tratando de hacer la siguiente tarea : lo que hago manualmente es lo siguiente: abro un archivo en una carpeta x , este archivo es en formato xls , luego abro otro archivo que es el archivo de formato especial que contiene 2 pestañas luego copio desde el archivo de la carpeta todo la hoja ,al archivo de formato especial despues seleciono la celda j2 de la pestaña Solicitud cliente del archivo formato especial, copio ese dato y luego me voy a la pestaña CSV COMMA DELIMITED , para despues guardar el archivo con el nombre de la celda J2 en formato csv delimitado a nivel gravador de macro me da este codigo, Sub es() ' ' es Macro ' ' R…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.4k visitas
-
-
hola. estoy desarrollando un macro que me baje un archivo plano a excel y al bajarlo necesito que me elimine la basura de este archivo plano; pero lo e intentado de varias formas y no e podido eliminar la basura de ese archivo esta fue la ultima forma que intente pero no lo elimina todo me saca erro 91 y no me deja continuar. Sub Macro1() ' ' Macro1 Macro ' ' ChDir "D:\" Workbooks.OpenText Filename:="D:\UFCG1041.PJB", Origin:=xlMSDOS, StartRow _ :=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(10, 1), Array _ (43, 1), Array(66, 1), Array(68, 1), Array(89, 1), Array(114, 1), Array(135, 1), Array(137, _ 1)), Decimal…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.2k visitas
-
-
hola: Me gustaria que alguien me ayudase a confeccionar un libro en el que hacer albaranes de entrada y salida de mercancia para despues poder facturarlos. La facturacion no es por el precio del articulo, sino un precio de almacenaje por dias, es decir, segun los dias que el articulo permanece en almacen tienen un precio. Actualmente lo tengo en varias hojas pero el trabajo es tedioso y engorroso, ya que todos los datos los tengo que introducir manualmente y no de forma automatica. Si alguien puede ayudarme a confeccionarla se lo agradeceria. Adjunto las hojas que tengo en la actualidad. Gracias por anticipado. FACTURACION.xls ENT-SALIDA PRODUCTO.xls ENT-SALIDA.x…
-
0
Reacciones de usuarios
- 4 respuestas
- 2.5k visitas
-
-
Encontrar duplicado de una misma columna y consultar valor de una diferente Buenas colgegas he escrito en parte de mi macro el siguiente código para que encuentre duplicados de una misma columna y los pinte de verde: Dim celda As LongDim celdaMax As LongWith ControlesRemoto celdaMax = .UsedRange.Rows.Count For celda = 2 To celdaMax If Application.WorksheetFunction.CountIf(.Columns(1), .Cells(celda, 1).Value) > 1 Then .Cells(celda, 1).Interior.ColorIndex = 4 Else .Cells(celda, 1).Interior.ColorIndex = x1ColorIndexNone End If Next celdaEnd With[/PHP] ahora la cuestión que me tiene loco hace unos días es que quiero que al…
-
0
Reacciones de usuarios
- 0 respuestas
- 752 visitas
-
-
tengo unas macros creadas depende de la info que tengo corro una u otra. pero quiero que si por error preciono la que no necesitaba, la macro no corra gracias por la ayuda Tavo09
-
0
Reacciones de usuarios
- 1 respuesta
- 698 visitas
-
-
Navegando por la red he encontrado un código para seleccionar objetos de autocad, es el siguiente: Public AcadDoc As Object Public AcadUtil As Object Dim objLinea As AcadObject Dim Punto As Variant Sub MacroSeleccion() Set AcadDoc = GetObject(, "Autocad.Application").ActiveDocument Set AcadUtil = GetObject(, "Autocad.Application").ActiveDocument.Utility AcadDoc.Utility.GetEntity objLinea, Punto, "Selecione objeto: " End Sub Sin embargo, al ejecutarse en autocad sólo me pone que designe los objetos. No me los selecciona automáticamente. He encontrado otro código similar, pero no me funciona. Creo que es más adecuado que el otro: es el siguiente: Dim SS As AcadS…
-
0
Reacciones de usuarios
- 3 respuestas
- 7.9k visitas
-
-
Hola saludo cordial a todos en especial a una de las personas que me han apoyado bastante en mi dudas al Gran Macro Antonio, y a Bigpetroman bueno mi duda es la siguiente es con relacion a un formulario que me hizo favor de apoyar el Gran Macro Antonio, funciona muy bien reliza todo la funcion para la que fue creado pero aqui biene una de mis dudas, en un dia de trabajo con el archivo en comento empezo a marcar error revise y pues nada fuera de lo normal solo que el error marcaba que no podia mostar el userform. se cerro el programa y volvio a trabajar normalmente y despues de cierto tiempo de nuevo volvio a marcar el error el mismo error, entonces me di cuenta verifica…
-
0
Reacciones de usuarios
- 2 respuestas
- 2.3k visitas
-
-
Saludos Se me hace muy complicado poder escojer los partname para cada maquina, y saber si tengo la capacidad de la maquina Tengo 3 hojas, "2013", "datos de maquina" y "Lista de equipos",Necesito su ayuda o consejos para realizar la siguiente macro. 1. El la hoja 2013 necesito una macro para agregar mas partname a las maquinas de la 1 a la 30 y tener la opcion de agregar mas maquinas. Que debo hacer: 2. Mi idea es un filtro con un listbox ejemplo: de hoja datos de maquina, Max clamping force tons: 200, robot : rexroth , Number Machine :1 3. Si llegara un nuevo partnumber poder escojer en la hoja la Lista de equipos. Resumen: requiero que la macro me de la opc…
-
0
Reacciones de usuarios
- 0 respuestas
- 779 visitas
-
-
Buenas! Estoy realizando un optimizador de corte lineal y con el uso de Solver pensaba que iba a ser suficiente, pero por desgracia Solver solo me permite cambiar 200 celdas y mis necesidades son más complejas y necesito alrededor de 800 a 1500 celdas cambiantes. Existe alguna macro que pueda desempeñar la misma función que Solver, es decir eligiendo un máximo, un mínimo o un valor, con una serie de restricciones, con una función objetivó, pero con más de 200 celdas cambiantes? Me sería de gran ayuda. Saludos!
-
0
Reacciones de usuarios
- 0 respuestas
- 837 visitas
-
-
Hasta hace poco usaba un ordenador con Windows Xp y ahora he cambiado a otro con Windows7. En ambos casos con office 2.007. El caso es que no sé muy bien porque, pero ahora hay macros que no puedo interrumpir, mientras que antes si podía. Uso las teclas control + Interr y tambien ESC pero la macro no se para. La única forma de interrumpir la macro es a lo bruto con el administrador de programas cerrando excel. Además normalmente en mis macros para saber como evoluciona la misma pongo dentro del código que en la barra de estado me muestre la evolución de ciertos parámetros, sobre todo en bucles for. En este caso la macro a lo mejor empieza funcionando bien y muestra lo…
-
0
Reacciones de usuarios
- 3 respuestas
- 3.3k visitas
-
-
Hola ! bueno acabo de entrar a hacer mi practica y necesito juntar en un excel determinada informacion proveniente de dos libros Libro NEH1 , pestaña OP1, CELDA H1-H3 Libro NEH2 , Pestaña OP2, CELDA D1 Y Juntar la informacion de ciertas celdas en un libro determinado GLOBAL_NEH ... todo esto sin necesidad de abrir los libros NEH1 Y NEH2 , pero que cierta informacion de estos como las celdas mencionadas se refleje en GLOBAL_NEH Ojalá me puedan ayudar ya que es la base para todo mi trabajo por mis 2 meses de practica
-
0
Reacciones de usuarios
- 2 respuestas
- 636 visitas
-
-
Buenas tardes, espero puedan ayudar... De ante mano muchas gracias. -Tengo una macro que me copia la hoja en la cual trabajo y la renombra (Perfecto)** Lo que necesito: -Mensaje Yes/No "¿Desea guardar e Imprimir esta solicitud?" -No: sigo trabajando, Yes: Copia hoja, guarda e imprime. -Y por ultimo que limpie las cerdas de la hoja matriz. Estas: Range("D10:F10,A13:A28,C13:F28").Select Range("D10:F10,A13:A28,C13:F28,A49:A64,C49:F64").Select Selection.ClearContents Observación: deseo bloquear la hoja pero con lo que tengo ya trabajado, me da un error. GRACIAS POR SU AYUDA Macro que copia y renombra: Sub Botón4_Haga_clic_en() Dim hoja As Worksheet Dim existe …
-
0
Reacciones de usuarios
- 0 respuestas
- 684 visitas
-
-
Tengo programada esta macro para insertar una imagen en una hoja de Excel, y funciona bien. Sub InsertarImagen() Set MiPc = CreateObject("Scripting.FileSystemObject") Set Carpeta = MiPc.GetFolder("C:\Documents and Settings\Usuario\Escritorio\foto\") Set Archivos = Carpeta.Files For Each Archivo In Archivos: Exit For: Next ActiveSheet.Pictures.Insert(Archivo).Select ActiveCell.Select End Sub La pregunta es: ¿como se programaría para un equipo con sistema operativo MAC?
-
0
Reacciones de usuarios
- 0 respuestas
- 787 visitas
-
-
buenos días amigos tengo una macro con la cual limpio los espacios innecesarios en celdas, y en la misma otra que luego de borrar espacios coloca las columnas almacenadas en formato texto con formato numérico especificado, es para ver si ahi forma de agilizar y evitar bugs al momento de correrla. Sub ESPACIOS() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False With ActiveSheet.[A3:U7500] .Value = Evaluate("if(row(" & .Address & "),clean(trim(" & .Address & ")))") Range("D:D,E:E,G:G").Select Selection.NumberFormat = "#,##0" Column…
-
0
Reacciones de usuarios
- 1 respuesta
- 764 visitas
-
-
Buenos Días Foro; La presente tiene para resolver las siguientes dudas respecto a códigos en SQL teniendo la siguiente información me piden desarrollar las siguientes preguntas: Empleando la BD INFRANCIONES. Coloque el código SQL para las siguientes consultas: 1. Seleccione los nombres y apellidos de propietarios que tienen más de un vehículo. 2. Seleccione todos los campos de aquellas papeletas que se han impuesto en la segunda quincena del mes de Marzo del 2006. 3. Seleccione las placas de vehículos, la descripción de su color y marca, así como su multa acumulada por todas las papeletas impuestas. 4. Seleccione el código y descripción de las infracciones que no h…
-
0
Reacciones de usuarios
- 5 respuestas
- 1.1k visitas
-
-
Buenas tardes; En el excel adjunto tengo una tabla... y cómo me gustaría parametrizarla mediante una tabla dinámica para que quede en el formato que necesito para exportarla a otro documento. (perdón por no hacerlo más visual, pero no me deja por capacidad). Como todo este proceso va a ser muy rutinario, quisiera grabar el proceso mediante una macro. Creo y guardo la macro, pero cuando la quiero ejecutar.... me salta el error de depuración: Adjunto el xlsx para ver si alguien me podría ayudar a explicarme porqué pasa esto. También para conseguir que la TD me aparezca en columnas tengo que modificar para cada concepto estos dos cuadro. …
-
0
Reacciones de usuarios
- 0 respuestas
- 738 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.6k visitas
-
-
buenos días, no sé si será posible crear una macro para que a una hora determinada proteja una hoja y a otra hora la desproteja? gracias anticipadas.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.1k visitas
-
-
Buenos días, imaginemos formulario con 10 textbox, decirle que los valide todos para que no estén vacíos, y que envíe un mensaje, se hacerlo. Pero quiero que los valide todos, menos 1 que se llama txtapellido. Ese puede estar vacío. Ya se que podía poner de uno en uno todos los restantes, pero sería algo para decirle.. Si alguno de estos textbox, está vacío, con excepción de txtapellido, lanza el mensaje. Gracias
-
0
Reacciones de usuarios
- 2 respuestas
- 717 visitas
-
-
hola expertos tengo el siguiente formulario creado por el maestro antoni y lo que hace es que al seleccionar dicho rango arroja un numero en la celda az1 de acuerdo a la suma de dichas celdas sreleccionadas pero me gustaria cambiar la idea al reves que al colocar un numero en az1 se buscara el rango correspondiente para dar con ese numero division entre.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 648 visitas
-
-
Estimadas/os, Junto con saludar, estoy recien empezando en este mundo del VB, y estuve trabajando en una macro que en función de una lista, empleo BUSCARV según vendedor y enviar al correo de forma separada con copia a jefaturas correspondiente. La macro sería la siguiente: Sub Enviar_Rango_a_Destinatario_de_correo() ActiveSheet.Range("AG2:AX14").Select For i = 1 To 13 ThisWorkbook.Sheets("RESUMEN").Range("X1").Value = i ActiveWorkbook.EnvelopeVisible = True With ActiveSheet.MailEnvelope .Item.To = ThisWorkbook.Sheets("Resumen").Range("X4").Value .Item.cc = ThisWorkbook.…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.2k visitas
- 3 seguidores
-
-
Buenas Tardes Tengo dos cadenas de texto, la idea es averiguar si todos los caracteres que contiene una cadena están en la otra, no importando el orden. Saludos Cordiales Pedro Cadenas de texto.xlsx
-
0
Reacciones de usuarios
- 11 respuestas
- 3.4k visitas
- 1 seguidor
-
-
Hola a todos, vengo en busca de su ayuda. Tengo una carpeta con varios PDF, quisiera listarlos en una hoja de excel, luego identificar los que tengan el mismo nombre y esos que están duplicados o que sean copias (por ejemplo: archivo.pdf y archivo(1).pdf o copiadearchivo.pdf) esos documentos que se llamen igual o sean copias que los pueda unir en un archivo de pdf en otra nueva carpeta. Ejemplo: 1.pdf 1(1).pdf 2.pdf 2.pdf 3.pdf 3(1).pdf 4.pdf Copia4.pdf ... Que la nueva carpeta contenga: 1.pdf [sería la unión de 1.pdf y 1(1).pdf ] 2.pdf [sería la unión de 2.pdf y 2.pdf ] 3p.df [sería la unión …
-
0
Reacciones de usuarios
- 1 respuesta
- 639 visitas
- 1 seguidor
-
-
Hola, Me han pasado un fichero, donde las cantidades vienen con ' delante, sería así: '0,234 '123456,03 He utilizado este código para quitarle el símbolo porque necesito sumarlo, pero en algunos casos se queda así 0.234 y no me deja reemplazar el punto por la coma, solo quitárselo y quedarme con 0234 Os paso un fichero de ejemplo, por si se os ocurre otro modo de cambiar el formato. Muchas gracias! With Worksheets("Hoja1") For i = 2 To .UsedRange.Rows(.UsedRange.Rows.Count).Row If Cells(i, "A").Value Like "'*" Then Cells(i, "A").Value = Right(Cells(i, "A").Value, Len(Cells(i, "A").Value) - 1) End If Next End Wi…
-
0
Reacciones de usuarios
- 3 respuestas
- 552 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.