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?
8686 temas en este foro
- 
				
				
Hola, es posible realizar una macro que copie las hojas de varios archivos en una misma carpeta y cuya hoja con datos se llame casi igual y no igual, eso implica que el nombre de las hojas es casi el mismo en todos los archivos, por ejemplo base_0203 , base_0204 , base_0205 ... gracias de antemano... he tratado de usar el comodin * pero no resulta en nombre de hojas
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Hola, estoy intentado hacer mi primera macro. Primeramente quiero hacer una cosa que creo que es sencilla, tengo dos hojas, hoja1 donde trabajo con la tabla de cosas que tengo en activo, y la hoja2 donde quiero que pasen las filas que digamos que ya he terminado la celda G es donde al escribir o pegar una celda que tenga información, se da por hecho que esta acabada, entonces quiero que automáticamente, al ver algo escrito en esta celda, se haga un CUT&PASTE de la hoja 1 a la 2. En G evidentemente es a partir de G2, ya que en G1 estaría el encabezado de la tabla. Al preguntar esto a chatgpt me recomendo esto **** **** Para lograr lo que …
- 
									
0
Reacciones de usuarios
 - 11 respuestas
 - 1.2k visitas
 - 2 seguidores
 
 - 
									
 - 
				
				
Hola a todos, actualmente tengo una pequeña macro que oculta o me muestra hojas en fuunción de un valor, pero debido a que cada vez hay mas hojas la macro tarda bastante tiempo. Por lo que me gustaria intentar accelerar la ejecución. Actualmente uso un For para recorrer todas las hojas que hay que modificar (anexo codigo fuente) y creo que si pudiese seleccionar todas las hojas de golpe en lugar de ir una a una reduciria el tiempo de ejecucion de la macro bastante. Dim DEPTO(42) As Variant DEPTO(0) = "G. VARIABLES" DEPTO(1) = "G. VENTA" DEPTO(2) = "G. PRODUCTO" DEPTO(3) = "G. PERSONAL" ... DEPTO(42) = "G. INMUEBLES"…
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Mi consulta es ¿cómo comparar dos listas en la hoja1 y hoja2 y copiar aquellos datos diferentes, entre ambas, en la hoja1? Gracias Libro1.rar
 - 
				
				
Buenos dias días expertos, los solucito sus ayuda con una macro que necesto filtrar con cuatro celda en la hoja consoludado lo que acontinuación los explico. Necesito presentar en la pestaña “Consolidado” los periodos elegidos por el usuario, así como la suma de los componentes que conforman el PIB por tipo de gasto, para lo cual se deberán tomar en cuenta las siguientes consideraciones: El usuario deberá elegir una fecha inicial menor a la final y en caso elija el mismo año deberá elegir el trimestre de la fecha inicial menor al de la fecha final (en caso suceda lo contrario, el programa notificará al usuario con el mensaje “Debe ingresar las fechas correctamente” y…
- 
									
0
Reacciones de usuarios
 - 8 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Estimados Amigos de Ayude Excel, Nuevamente estoy por aqui solicitando de su apoyo. A ver si me logro explicar: Tengo un archivo en el cual quisiera con una macro ocultar y mostrar un determinado rango de columnas, el cual tengo condicionado a una pequeña lista desplegable. La lista desplegable contiene números del 1 al 5 y en una celda a la par relacioné cada número a una letra que me representara las columnas que quiero ocultar. Supuestamente utilizaría esto para que me dejara únicamente el número de columnas visibles indicados en la lista desplegable, es decir si en la lista desplegable hay un tres, entonces me mostrará únicamente las primeras tres columnas. Mucho …
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buen Día Expertos De antemano agradezco la ayuda que nos brindan a todos. Actualmente estoy desarrollando un formulario con tres Combobox dependientes asi: El primero denota el nombre de una entidad (hoja1) El segundo que depende del primero denota las areas de esa entidad escogida (hoja1) El tercero que depende el segundo denota la dirección de ubicación de esa areas escogidas (hoja2) Todo está perfecto cuando escojo el primer y segundo combobox. Cuando voy al tercero, al tratar de hacer la misma rutina del segundo, me carga un dato que no corresponde. Esto debido a que las listas que manejo no estan en el mismo orden que lo pide el combo 2 Lo que necesito es qu…
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buen día: Estoy tratando de hacer que en base a una lista (Columna y su estatus (Columna C), se creen tareas nuevas en Outlook, para dar seguimiento al cumplimiento de dicha lista. Para lo cual tengo el siguiente código (extracto de varias muestras que encontré en la web, solo por respeto a los autores): Sub Tarea() ' ' Tarea Macro ' Automatizar la creacion de tareas ' ' Acceso directo: Ctrl+Mayús+T Dim objectOutlook As Object, objectTarea As Object Dim f As Range Set objectOutlook = CreateObject("Outlook.Application") Set objectTarea = objectOutlook.CreateItem(olTaskItem) Range("C11:C64").Select For Each f In Selection.Cells If f.Value = 1 Then …
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Como puedo utilizar una macro para asociar automáticamente las etiquetas de texto a los puntos de datos en un gráfico de burbujas. Por ejemplo en este caso cada burbuja deberia tener los valores del N°FD ( d1, d10, d14 , etc) Gráfico Burbújas.rar Gráfico Burbújas.rar
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buen día a todos, soy principiante en el foro e intermedio en EXCEL, les cuento lo que necesito: Tengo unas bases de datos que contienen una sola columna con unos 100.000 datos (todos numericos) y con esta columna tengo que crear n archivos de n cantidad de datos cada uno (por ejemplo ahora yo copio y pego de a 2.500 datos) alguien me puede guiar como puedo automatizar este proceso??? AHI DEJE EL ARCHIVO ADJUNTO DE EJEMPLO, LO TUVE QUE HACER RAR PORQUE NO LO PODIA SUBIR DE OTRA FORMA saludos Pablo ejemplo 42k de datos.rar
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Hola a todos, Me gustaria hacer una macro VBA que se pueda realizar o aplicar cuando seleccionamos una celda y que esta consista en que se marquen o seleccionen las columnas desde la primera hasta la columna en la cual se encuentra la celda seleccionada. [/img] http://es.tinypic.com/view.php?pic=mikjdk&s=8 http://es.tinypic.com/view.php?pic=2qjgbcz&s=8 http://es.tinypic.com/view.php?pic=2qjgbcz&s=8 Columns(valor) dentro de Range genera un valor 1 aunque valor tenga el valor de la columna de la celda activa. No se porque. Alguien puede ayudarme con este problema. Muchas gracias!!
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buenas tardes a todos. Tengo una pequeña inquietud que le he dado infinidad de vueltas y no doy. Es algo como esto: With r(1, 7).Resize(r.Rows.Count, 1) .FormulaR1C1 = "=IF(RC[-2]> sm * 4, RC[-2] * 0.01,0)" .Value = .Value End With Trato de comparar la celda escogida con la variable sm, pero no sé cómo llevar esta variable a la fórmula. He intentado con comillas, dobles comillas pero no doy. Alguna idea?? Muchas gracias por su tiempo Boris
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.2k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buen día, espero me puedan ayudar. Recién estoy empezando con las Macros, grabe una macro para realizar un reporte con 2 tablas dinámicas de diferentes base de datos en una misma hoja, para que la macro me corriera le elimine el nombre de la hoja, dejándolo en blanco (TableDestination:=""), y la tabla dinámica la renombre para que me ponga una en especifico (TableName:=Crédito ACI By DCH y TableName:=Contado ACI By DCH). La macro corre sin problemas pero en vez de crearme el reporte en una misma hoja, me crea 2 hojas diferentes. Pienso que el error esta al momento de crear la 2da tabla dinámica que en el nombre de la hoja no le pongo un nombre en especifico por eso me c…
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buenos Dias Por favor me pueden ayudar ya que tengo el siguiente codigo para buscar pero me sale error, por favor su apoyo. Dim ult As Integer Dim datoBusqueda As String Dim ncontrato As Long ult = transRowRng.Rows.Count datoBusqueda = TextBox1.Text If datoBusqueda = "" Then MsgBox "Búsqueda cancelada", vbInformation, "Mensaje" Exit Sub Else ncontrato = Val(datoBusqueda) For j = 1 To ult If Cells(j, 2) = ncontrato Then cont = 1 fila = j TextBox2.Text = Cells(j, 3) End If Next j End If If cont = 0 Then MsgBox "Contrato no encontrado", vbInform…
- 
									
0
Reacciones de usuarios
 - 7 respuestas
 - 1.2k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Hola, Soy nuevo en el foro. Agradecería vuestra experta ayuda Mi problema es que tengo una macro cuya función es abrir un excel copiar información de este y pegarla en otro libro, y finalmente adjuntar este último a un correo. Esto funcionaba correctamente antes de que me cambiasen al Office 2010 (antes tenía el 2003). Ahora el problema que me sale es en la instrucción Set e1 = o1.CreateItem(olMailItem): error 13 en tiempo de ejecución. No coinciden los tipos. Sub CORREO2() Dim RUTA As String Dim rutaavanzamadre As String Dim o1 As Outlook.Application Dim e1 As Outlook.MailItem Dim WB As Workbook Dim tomador As Workbook Dim nombredeflota As String Dim fechadecierr…
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Hola a todos, mi nombre es Maurizio Y mi problema es este: Hace unos años logré crear una especie de pronóstico del tiempo con vba y hasta ahora todo va bien. Como todo este trabajo funciona muy bien. Pero como, sin embargo, normalmente no soy una persona que se satisfaga fácilmente, me gustaría entender cómo cambiar De manera drástica, su Enlace no solo puede obtener las mismas cosas; Pero también para poder atraparlos. Primeras tres imágenes de la ubicación elegida por mí de la hoja de Excel. Hay algunos de ustedes que podrían ayudarme en esto, aunque solo sea llegando a los escritos. ¡Del lugar en cuestión y el mínimo y el máximo de los tres pr…
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Necesito de vuestra ayuda para realizar una macro que permita ingresar la edad de una persona a través de un inputbox y escriba en la celda A1 de una hora si es mayor de edad o no. Considerar que en este caso sería Select case edad>=18 y los casos serian true y fase. Soy novato en programar con VB. No adjunte un archivo, ya que no se como empezar el codigo en VB Ojala me puedan ayudar saludos meggido
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Saludos a todos, Soy nuevo en el foro y la verdad hace mucho que deje mis estudios básicos de Computación por lo que mis conocimientos se han desgastado mucho, dicho esto voy al tema de todo esto, tengo una duda a la cual le estoy buscando solución ya hace mucho rato y hasta ahora no se la encuentro, es por eso que recurro a ustedes. Mi duda es la siguiente, ¿como puedo realizar que varios combobox que se encuentran en un formulario de excel se relacionen entre sí?, por ejemplo, tengo el combobox1 con los datos de todos los departamentos del Perú y quisiera que al seleccionar una de sus opciones, en el combobox2 donde tengo todas las provincias de cada departamento del …
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
buenas amigos de la programación lamentablemente les vengo a pedir otra ves un poco de su ayuda, les cuento tengo un archivo el cual tiene un formulario y del cual este extrae la información con un filtro desde una hoja oculta y lo deja en un listbox, pero solo el primero funciona, ya que en este mismo foro me ayudaron con ese, pero no me filtra el resto de los combobox he intentado varias cosas pero no me resulta nada podrían ayudarme una vez mas por favor PRUEBA.xlsm
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Estimados necesito ayuda con esto, necesito que en dos columnas continuas me evalúe el criterio de duplicidad, copie esta macro y solo me funciona en una columna y no en las dos Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([h103:g10], Target) Is Nothing Then ActiveCell.Select End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 8 Then Exit Sub If Application.CountIf([h103:g10], Target) > 1 Then MsgBox " ¡¡¡ Lugar ya se encuentra asignado !!!" Application.Undo End If End Sub atento a su respuesta Marcos
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Llevo algún tiempo probando este tema pero no lo consigo, agradezco cualquier ayuda u orientación, gracias Libro1.xlsm
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.2k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Saludos a todos, tengo un problema y no se como solucionarlo. Expongo el tema: en un libro tengo varias columnas variables (columnas A-C-D-E), donde en la columna A esta la descripcion del producto, C la referencia, D las unidades y E las medidas a cortar. Necesito crear una macro la cual, al encontrar los mismos valores en la columna E y en la columna C, me sume la columna E, y, además me unifique el resto de columnas. El problema es que los valores de todas las columnas son todas variables. Lo siento si es que no me he sabido expresar bien, adjunto un excel para ver cual es el problema que expongo y como deberia quedar. Ante todo gracias y saludos. Libro1.xls
- 
									
0
Reacciones de usuarios
 - 14 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Private Sub Capitulos_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Set cat = Worksheets("tablas") t = Me.Capitulos.ListIndex + 1 r = 6 Do While cat.Cells(r, 3) <> "" If cat.Cells(r, 2) = t Then nc = cat.Cells(r, 3) Exit Do End If r = r + 1 Loop nomarea = InputBox("Cambio de Nombre a : " & nc, "Modificaciones: Areas de Seguimiento") If nomarea = vbNullString Then MsgBox "Cancel" Else 'Aqui me manda error Me.Capitulos.List(t - 1, 0) = nomarea MsgBox "Acepto" End If l = Len(nomarea) End Sub Quiero renombrar el Item del List Bo…
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 1.2k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenos dias, agradeceria vuestra ayuda.Tengo un cuadrante general mensual, donde aparecen todas las personas con sus turnos, el cual se envia en pdf por la macro anexa a todos los correos que figuran en la columna B.Lo que necesito es en lugar de enviar el cuadrante a todo el mundo,(1 correo a 10 personas) como hasta ahora, enviar el cuadrante de cada persona solo con sus turnos, sin datos de los demas.(1 correo por persona con solo sus datos)He probado con formulas, pero me fallan con algunos numeros, supongo que por el tema de buscarv.Anexo la plantilla que estoy intentando hacer.Gracias Prueba1.xlsm
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Buenos días a todos: Estoy realizando una aplicación usando CUSTOM UI EDITOR. Lo que necesito es que al abrir excel muestre solamente mi grupo personalizado. No consigo ocultar la pestaña Disposición de pagina y ayuda Me podeis ayudar stock ALMACEN MMPP 2024 rev.1001.xlsm
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 1.2k visitas
 - 2 seguidores
 
 - 
									
 
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.