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; Ayer me surgió un pequeño problema en la macro que estoy montando, os comento para ver si me podéis ayudar. Al intentar hacer una consulta sql de un Excel nuevo ( sin guardar ) me está dando error en la ruta ( al no estar guardado no tiene ruta ) y no sé cómo ponerlo. Esto es lo que he puesto pero sin éxito. Excel_Nuevo = ActiveWorkbook.Name RutaExcel = "Data Source=" & Workbooks(Excel_Nuevo).Path & "\" & Excel_Nuevo & ";Extended Properties=""Excel 12.0;HDR=Yes;""" Adjunto excel. Gracias y un saludo, Libro3.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1.1k visitas
-
-
Buenos días amigos, podrían ayudarme, tengo varias dudas: 1. Ando buscando pero no consigo hacerlo funcionar, al introducir datos en el campo buscar que me valla buscando en todas las columnas lo que valla escribiendo sobre la marcha (Las coincidencias que valla escribiendo). 2. Por otro lado ¿como enlazo dos combox?. En el campo alta a seleccionar un modelo por ejemplo C500 y que me seleccione en el combox de abajo el tipo 1 automáticamente. Muchas gracias de antemano por vuestras aportaciones, gracias y saludos para todos. Formulario.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 623 visitas
-
-
Buenos dias No se si me puedan ayudar, lo que quiero intentar hacer es que al darle click a una celda en este caso la de "folio de alta de productos" en la pestaña "folios vencidos" me filtre en la hoja "seguimiento" ese valor. E intentado haciendo un filtro con doble click pero no e entendido como hacer para trasladar esta función a otra hoja y también lo intente grabando una macro pero no e tenido mucha suerte. espero puedan apoyarme Prueba.xlsm
-
0
Reacciones de usuarios
- 4 respuestas
- 1.5k visitas
-
-
Buenas tardes amigos. Tengo una duda. Estoy usando el siguiente codigo para colocarle clave de activacion a un boton que esta en la hoja de excel (el codigo funciona perfecto), pero no encuentro una manera de ocutar la clave cuando se ingresa. Habra alguna forma de que no se vea lo que se digita ? 'Caja para el ingreso del Password para poder borrar ultimo registro Dim PS As String Dim PS2 As String PS2 = "clave" PS = InputBox("Por favor ingrese su Password") If PS = PS2 Then 'Fin de la caja Agradecido de antemano por vuestra ayuda
-
0
Reacciones de usuarios
- 10 respuestas
- 4.5k visitas
-
-
Buenas tardes. Queria saber si habra alguna forma de indicarle al userform que se ubique en una posicion especifica. Voy a tratar de ser mas explicito, el userform en este momento se ubica en el centro de la pantalla, mas yo quiero que se ubique en la misma posicion centrada, pero unas lineas mas abajo. Es decir, debajo de la celda 7, pero centrado. Dejo una imagen que vale mas que mil palabras. Agradecido de antemano por vuesta ayuda
-
0
Reacciones de usuarios
- 8 respuestas
- 4.1k visitas
-
-
Buenas tardes a todos los compañeros de este fantastico foro :D Estoy intentando hacer una macro para almacenar en un vector (array) los dias laborales entre dos fechas (sin contar festivos ni fines de semana). Por ejemplo; Fecha inicio: 03/08/2020 Fecha fin; 10/08/2020 Si el día 08/08/2020 y 09/08/2020 es fin de semana, y consideramos/especificamos que el dia 07/08/2020 es festivo. ¿Como podría obtener un vector de la siguiente forma)? Vector: (03/08/2020; 04/08/2020; 05/08/2020; 06/08/2020; 10/08/2020) Agradeceria muchos vuestra valiosa ayuda. Muchas gracias Un abrazo
-
0
Reacciones de usuarios
- 2 respuestas
- 673 visitas
-
-
Sub cargaRecib() Dim ws2, ws1 As Worksheet, Mat Dim Q& Set ws1 = ActiveSheet 'mio = ActiveWorkbook.Name ws2 = "selecciona el libro a procesar" MsgBox ws2, vbOKOnly ws2 = Application.GetOpenFilename(Title:=ws2) If ws2 = False Then Exit Sub On Error GoTo 0 Set ws2 = Workbooks.Open(ws2) Sheets("XML").Select If [B2] = "" Then MsgBox "Libro u Hoja sin Informacion." End If ReDim Matt(1 To 58) Q = Range([B1], Cells(Rows.Count, "b").End(xlUp)).Rows.Count Mat(1) = Application.Transpose(ws2.[B1].Resize(Q)) End Sub
-
0
Reacciones de usuarios
- 1 respuesta
- 699 visitas
-
-
Expertos, los escribo esta vez con un pequeño archivo que contiene dos formularios uno de ellos con registro de perfil de cliente que cuando escojo un registro y lo edito pulso editar aparentemente dice registro editado pero no guarda los datos editados, y la otro formulario es cuando ingreso nuevos datos en los controles y lo pulso registrar sale error y windows cierra a excel, bueno esos dos casos que me sale en este pequeño proyecto...Lo agradezco a todos por la ayuda que me van a brindar. Ajunto el archivo Inventario.xlsm
-
0
Reacciones de usuarios
- 7 respuestas
- 987 visitas
-
-
como puedo modificar este codigo para que me deje un numero de los que se repiten Sub Eliminar_repetidos() Dim Mat, Q%, i%, R%, j%, Dic, Rng As Range, Valor, iniTime! iniTime = Timer Set Dic = CreateObject("Scripting.Dictionary") Mat = Range("A1:SX42"): Q = UBound(Mat): R = UBound(Mat, 2) For i = 1 To Q For j = 1 To R Valor = Mat(i, j) If Valor <> Empty Then Select Case Dic.Exists(Valor) Case True Set Rng = Union(Dic(Valor), Cells(i, j)) Case False Set Rng = Cells(i, j) End Select Set Dic(Valor) = Rng End If Next Next Application.ScreenUpdating = Fa…
-
0
Reacciones de usuarios
- 0 respuestas
- 436 visitas
-
-
Hola buenos días amigos de Ayuda Excel, acudo nuevamente a ustedes para que me ayuden con esta macro. Muchas gracias La macro debe buscar los datos o valores indicados en la columna C de la hoja COLORES en la columna A de la hoja LISTADO GENERAL y una vez localizado, asignar el valor del precio ubicado en la columna F de la hoja COLORES en la columna I del respectivo dato y muy importante, que se actualice automáticamente cuando el valor del precio de la hoja COLORES varie. NOTA: En esta hoja COLORES se van añadiendo constantemente nuevos datos. EN CASO QUE NO ENCUENTRE EL PRODUCTO, DEBE ADVERTIRLO MEDIANTE UN MENSAJE BUSCAR DATO EN OTRA HOJA.xlsm
-
0
Reacciones de usuarios
- 18 respuestas
- 2k visitas
-
-
buenos dias: les envio un archivo en TXT en donde al oprimir un optionbutton me habilita un inputbox donde se solicita digitar un numero, pero al dejar vacio y dar aceptar o dar boton cancelar me sale "ERROR 13 NO COINCIDEN LOS TIPOS" en la siguiente linea del archivo adjunto. CANTPEQ = InputBox("Ingrese la cantidad a enviar", "CANTIDAD A ENVIAR") Agradezco su ayuda MUESTRA.txt
-
0
Reacciones de usuarios
- 8 respuestas
- 4.4k visitas
-
-
como le puedo agregar a este código que las celdas que escoge aleatoriamente en mi hoja estadística me las rellene de color amarillo Sub Aleatorios() For x = 1 To 22 f = Int((42 * Rnd) + 1) c = Int((256 * Rnd) + 1) Sheets("analisis").Range("C" & x) = _ Sheets("estadisticas").Cells(f, c) Next End Sub
-
0
Reacciones de usuarios
- 11 respuestas
- 3k visitas
-
-
Hola buenas tardes comunidad Esta vez les cuento que tengo el siguiente tema, tengo un archivo Excel donde debo hacer un listado de otros archivos pero con hipervinculos. El tema es que debo dejar el nombre original del archivo e hipervincular todos los archivos de una carpeta a través de Macros y no hacerlo manualmente. Les dejo un ejemplo con uno que hice pero lo necesito para mas archivos. ¿qué se les ocurre? https://drive.google.com/drive/folders/1J_GSiVRJshedZtJPg2zIQNBIkplXH7ua?usp=sharing Les agradezco la ayuda de antemano, saludos.
-
0
Reacciones de usuarios
- 0 respuestas
- 962 visitas
-
-
Buenas Estoy intentando crear un macro para generar un reporte entre periodos que están en las celdas " D5 " y " F5 " de una tabla de Access, pero no logro que funcione. acudo a ustedes para que me ayuden a definir cual sera el error. Formato de la fecha en Access "29/07/2020 10:48:51" Application.ScreenUpdating = True NumId = (Format(Worksheets("usuarioF1").Range("D5").Value, "DD-MMM-YYYY") & "# ") NumIh = (Format(Worksheets("usuarioF1").Range("F5").Value, "DD-MMM-YYYY") & "# ") Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "\01.Datos\Registro.accdb" .Open End With Set Rs = New A…
-
0
Reacciones de usuarios
- 3 respuestas
- 2.1k visitas
-
-
Hola amigos del foro, Estoy ejecutando esta macro, y continuamente me muestra 'Error definido por la aplicación o el objeto': Sub ProtegerHoja() Dim fila As Long fila = Sheets("Hoja1").Range("A1048576").End(xlUp).Row Dim contraseña As String contraseña = "abcd" With ActiveSheet .Protection.AllowEditRanges.Add Title:="Rango1", _ Range:=Range("A3:H" & fila), _ Password:=contraseña .Protect Password:=contraseña, _ DrawingObjects:=True, _ Contents:=True .EnableSelection = xlNoRestrictions End With End Sub No sé dónde …
-
0
Reacciones de usuarios
- 6 respuestas
- 1.9k visitas
-
-
Estimados, Espero que se encuentren muy bien, necesito ayuda para poder realizar un buble con for para encontrar un valor que no se en que fila y columna esta, entonces estoy tratando de buscarlo con tres for, pero no logro traspasar la fila y columna encontradas para despues ejecutar el ultimo for para llenar mi tabla. por favor su ayuda. saludos.
-
0
Reacciones de usuarios
- 3 respuestas
- 803 visitas
-
-
Buenas, Quisiera realizar una lista desplegable que dependiera de la siguiente forma. Si alguien puede ayudarme os lo agradeceria mucho. Tengo una pestaña (BASE DATOS) con las siguientes listas Tuberia y sus categorias y variantes. Cableado y sus categorias y variantes Elementos y sus categorias y variantes. La idea es que en LISTADO al seleccionar una celda (A1) pueda elegir entre tuberia, cableado o elementos. Al realizar eso en (A2) pueda elegir entre las categorias de cada uno y en (A3) pueda elegir su variante Estamos intentando crear una base de datos que se pueda ir ampliando, para la realizacion de mediciones. Por ejemplo A1…
-
0
Reacciones de usuarios
- 12 respuestas
- 2k visitas
-
-
Estimados, junto con saludarles, quisiera pedirles ayuda con respecto a un código el cual he estado trabajando. Se me produce el siguiente error 1004 al momento de ejecutar sin valores una macro, la cual he intentado agregarle un If Rango = 0 Exit Sub, o tambien he intentado If Rango is Nothing GoTo label, y ninguno me ha solucionado el problema. Les dejo el video que explicará mejor que mis palabras. El error se me produce en el Userform 3, en el código de Initialize, al parecer se genera cuando la macro intenta crear el rango "MiRango". 1004.mp4 Se les ocurre como podría solucionarlos? Agradecido por vuestro tiempo. Felipe,
-
0
Reacciones de usuarios
- 3 respuestas
- 939 visitas
-
-
Estimados, necesito hacer una macro para reemplazar valores automaticamente en una formula, que seria la siguiente: =INDICE(Lista!C$2;COINCIDIR($B$8;Lista!A$2;0)) necesitaria que C$2; y A$2; sean reemplazados por $3, por $4, etc. y asi sucesivamente hasta un numero tal. Abajo dejo el ejemplo de como seria. =INDICE(Lista!C$3;COINCIDIR($B$8;Lista!A$3;0)) =INDICE(Lista!C$4;COINCIDIR($B$8;Lista!A$4;0)) =INDICE(Lista!C$5;COINCIDIR($B$8;Lista!A$5;0)) etc... Desde ya muchas gracias!!
-
0
Reacciones de usuarios
- 6 respuestas
- 2.1k visitas
-
-
Buenos días chicos , He revisado que mi consulta no estuviera resuelta y no la he encontrado.He visto algunas parecidas pero lo que necesito concretamente. 1-OBJETIVO Tengo un archivo excel donde llevo el control economico de proyectos de inevrsión y quiero que desde el excel me baje los archivos adjuntos de los emails seleccionados en el outlook y me los guarde en la carpeta OFERTAS.Estos archivos son ofertas relacionadas con el proyecto de inversión y quiero ahorrar tiempo en la acción de bajar estos archivos adjuntos. Lo que me interesa es que me baje los archivos del email seleccionado o emails que yo seleccione , y no de los emails marcados como …
-
0
Reacciones de usuarios
- 10 respuestas
- 3.8k visitas
-
-
Buenas a todos, Probablemente ya se ha dado solución por partes al problema que encuentro, pero no logro unificar varias formulas que necesito para alojar en una sola celda. El asunto es el siguiente. Ejemplo: En una tabla de excel por ejemplo la celda A7 contiene la formula siguiente =SI.ERROR(INDICE('C:\Users\USUARIO\Documents\CLIENTE\DATOS2020\[DATOS_WEB.xlsx]hojadatos'!$AF:$AF;COINCIDIR(I7;'C:\Users\USUARIO\Documents\CLIENTE\DATOS2020\[DATOS_WEB.xlsx]hojadatos'!$N:$N;0));"") El dato que devuelve es un hipervinculo a una pagina web. (El archivo DATOS_WEB.xls sufre actualizaciones semanales) por ejemplo, la celda A7= https://w…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.4k visitas
-
-
Un saludos a los miembros del grupo Requiero que me ayuden con el siguiente Macro. Cuando se ejecuta debe buscar en la base de datos "Registro.accdb" y devolver los datos que coinciden las columna estado con ingreso y la columna nombre con "Carlos" He intentado con el siguiente macro pero me da error Application.ScreenUpdating = True NumId = "ingreso" NomId = "Carlos" Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & ThisWorkbook.Path & "\Datos\Registro.accdb" .Open End With Set Rs = New ADODB.Recordset Sql = "SELECT cedula, nombre, fecha1, Fecha2, origen, carpeta …
-
0
Reacciones de usuarios
- 2 respuestas
- 641 visitas
-
-
hola expertos tengo un libro que me envía los datos en forma ordenada de la hoja 2 a la hoja 3 cuando oprimo la flecha , pero al eliminar los números repetidos en la hoja 2 y diferenciar la cantidad de datos de las dos hojas aparece que no son iguales ¿por que será? permutaciones2.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 630 visitas
-
-
hola expertos tengo este libro y me gustaría que enviara los números que están a la siguiente hoja y los que no están a la otra hoja ordenadamente gracias ordennumerico.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1.1k visitas
-
-
Hola a todxs, Necesito crear un evento de manera que al abrir el libro aplique un formato diferente a cada una de las hojas del libro. Es cierto que dentro de ThisWorkbook tenemos el evento Private Sub Workbook_Open(), pero no me sirve dado que tengo más de 10 hojas diferentes cada una de ellas con un formato diferente. Así que he pensado mejor en crear un evento dentro de cada hoja del libro. Algo así como Private Sub Worksheet_Activate(), pero sólo cuando se abra el libro (y no cuando se active la hoja). El caso es que dentro de las hojas, no logro encontrar ningún evento que se inicie sólo cuando se abre el libro... Se os ocurre alguna id…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.4k visitas
- 1 seguidor
-
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.