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
- 
				
				
Buenos dias a todos Es la primera vez que solicito ayuda, pero veo que tienen buenos expertos en el área Tengo un archivo en excel 2003 que utiliza macros Al aplicar la instrucción: MsgBox "Se ha Cancelado la Respuesta." & Chr(10) & "Por favor reintentelo", vbInformation[/CODE] Me arroja un error en Excel 2010, que es el siguiente Error de compilación: No se puede encontrar el proyecto o la biblioteca Y marca Chr(10) como error Tengo varios aplicaciones escritas en macros de excel 2003 y tengo que migrarlas a 2010 y utilizo mucho esta función. Creo que falta una librería para compatibilizar los dos tipos de macros ya que si hago un archivo en excel 20…
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 3.2k visitas
 
 - 
									
 - 
				
				
hola a todos , soy el tiene sieme problemas con los colores en Excel?? existe alguna funcion para contar los colores? tengo una tabla en la que segun la categoria ( diferenciada por color) cconozco la cantidad y categorias de personas en un turno GRACIAS EJEMPLO.xlsx
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 906 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
hola buenas tardes pues la verdad soy nuevo en el foro no soy muy experto tengo poco conocimiento asi que voy agradecer muchisimo de antemano su ayuda adjunto un ejemplo del problema que tengo y no encontrado solucion es una archivo para una parroquia muchas gracias trato de generar rango de folios a partir de variable ejemplo 1.xls ejemplo_rango.xls
- 
									
0
Reacciones de usuarios
 - 8 respuestas
 - 994 visitas
 
 - 
									
 - 
				
				
Buenos días, Os explico, tengo unos datos descargaos con tipo fecha y con formato personalizado. Tengo una macro para filtrar fechas que con este tipo de dato no me funciona. Estoy intentando cambiar el formato a fecha corta para intentar poder usar la macro pero no me deja. Lo que había pensado en hacer es con las funciones día, mes y año partir la fecha y luego con la función fecha juntarla. creo que así la macro de filtrado de fechas sí que me funcionaria... El caso es que la función fecha no consigo meterla... Si se os ocurre una idea para que funcione la macro de filtrado fechas será bien recibida... Adjunto archivo con los dos códigos salu…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 785 visitas
 
 - 
									
 - 
				
				
tengo el siguiente problema quiero migrar una macro que tengo en 2003 a 2007, esta macro me busca un archivo pdf de acuerdo a los parametros que le paso, pero no encuentro la forma de hacerlo funcional en 2007 mi codigo es el siguiente la parte que esta en negrita es la que no me funciona en la version 2007 Sub Buscar_POs_PDF() A = 1 B = 1 Path_PDFs = UserForm1.TextBox2.Text & "\" FechaPDF = UserForm1.TextBox3.Value Campo_Fecha = Format(FechaPDF, "dd/mm/yyyy") Windows("Plantilla2.xls").Activate final = Cells(65536, "A").End(xlUp).Row Vector_Exclusion( = "" Vector_PDF(A) = "" Cells(2, 5).Select For i = 2 To final UserForm1.Label9.Caption = "PO: " & Ac…
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 901 visitas
 
 - 
									
 - 
				
				
Muy buenas tardes comunidad. El día de hoy se me presento un problema con una base de datos que se encuentra en una carpeta compartida, se elimino la función indirecto de la columna "Estado" para la columna "Situación". Realizando la esta función en otro archivo me funciona pero no puedo subir este porque ya se encuentra compartida y tiene ciertas restricciones que no me permiten el cambio del archivo. Quería comentarles que esta base tiene un macro donde al cambiar el dato de la columna "estado" la información de esta fila se remite directamente a la hoja de "inhabilitados". MuchasGracias por su ayuda. BASE DE DATOS PARA 2013.zip
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 888 visitas
 
 - 
									
 - 
				
				
Hola,Actualmente tengo una macro que me hace una comprobación de si un fichero está abierto o no.Al pasar estos archivos a una carpeta compartida via web he tenido que actualizar la ruta del archivoAl actualizar la ubicación del archivo y el nombre del archivo con la propia, funciona toda la macro excepto la funcion isfileopen." If IsFileOpen(UbicacionNombre) Then' Display a message stating the file in use.MsgBox "El fichero " & NombreFicheroEmpleados & "está en uso. Lo tienen que cerrar para poder continuar", vbCritical, "MENSAJE DE ERROR"Application.ScreenUpdating = TrueExit SubEnd If"UbicacionFicheroEmpleados = "https://bsi1870ext-my.sharepoint.co...1870_net/Do…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 909 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenas tardes, Ante todo, muchas gracias por vuestra página Web, que me ha permitido avanzar bastante en el fascinante mundo de la programación VBA, pero no lo suficiente, ya que no fui capaz de resolverla esta duda que les envío a continuación: Tengo una serie de datos de diferentes respuestas, agrupados por columnas (a partir de la D) y quisiera obtener sus modas, es decir el valor que más se repite, en función de que la clase a la que pertenecen, la cual la tengo definida en la columna D. [TABLE] [TR] [TD]Columna [/TD] [TD] D [/TD] [TD]E [/TD] [TD]F [/TD] [TD]G [/TD] [TD]H [/TD] [TD]I [/TD] [TD]J [/TD] [TD]K [/TD] [TD]L [/TD] [/TR] [TR]…
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 3.8k visitas
 
 - 
									
 - 
				
				
Hola, me podéis ayudar con una macro para que muestre el numero de semana de una fecha, lo que he encontrado ha sido para sacar el número de semana en una hoja de Excel, para hacerlo desde una macro, el resultado que me está dando no es el correcto. Lo estoy aplicando a un gráfico, pero cuando pongo la primera semana (el resultado no es el correcto), no saca la segunda semana. Os dejo el archivo de ejemplo. Gracias. Semana numero.xlsm
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 2.6k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Hola, alguien no tendra alguna funcion o macro que al seleccionar una celda uno tenga la opcion de colocarle una unidad por ejemplo m2, m3, kg, o cualquier otra unidades de medida digo esto por que es engorroso hacer click derecho ir a formato de celdas, numero, personalizado y colocar # etc, lo mejor seria buscar la funcion creada tal vez por el usuario y seleccionar la celda y en otro box colocar la unidad supongo, esto sirve para realizar computos metricos de forma rapida. Gracias de antemano
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 1.2k visitas
 
 - 
									
 - 
				
				
Hola! Tengo un excel para el manejo de préstamos, y con el tiempo lo he ido mejorando porque me divierte y me gusta intentar automatizarlo tanto como se pueda. Si bien la hoja tiene varias columnas, para el tema en cuestión sólo es necesario mencionar 2. En la columna A pongo la referencia (con este dato hago la mayoría de fórmulas), y en la F se pone el saldo que queda por pagar. Ahora bien, llevo varios días intentando lograr "predecir" la referencia que sigue al añadir otra fila. Mi mejor éxito es esta fórmula (que corresponde a la celda A9): =INDICE(DESREF(BUSCARX($A8,$A$2:DESREF($A8,-1,0),$A$2:DESREF($A8,-1,0),,0,-1),1,0):$A8,COINCIDIR(VERDADERO,DESR…
- 
									
0
Reacciones de usuarios
 - 4 respuestas
 - 903 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Necesito crear una funcion que me obtenga el total de una columna en un listbox. Pero que yo le pueda pasar como parametros el formulario, el nombre del listbox y el numero de columna y me devuelva como resultado el total del listbox. No se si los parametros se deben pasar como texto y de que forma. Mas o menos con esta estructura. Les agradezco de antemano su ayuda. Public Function totalcol(ByVal columna As Integer, ByVal formulario As TextBox, ByVal control As TextBox) end function
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 1.6k visitas
 
 - 
									
 - 
				
				
Hola, siento volver a preguntar, tenia que haber preguntado esto primero, pero he tentado buscar una solución de porque con cada cambio que realizo tiene que pasar por esta función, pero sigo sin contrar una solución. Os cuento, he puesto una función personalizada para que realice una búsqueda por determinadas hojas y muestre su resultado, aunque tengo que refinarla un poco más porque me está mostrando unos resultados diferentes, como al pasar las horas que no sé por qué tiene que cambiar los valores. El caso es que, si se pone un punto de interrupción en la función, cada vez que se realice un cambio, vemos que pasa por esta función, pero ya no solo en la celda que…
- 
									
0
Reacciones de usuarios
 - 6 respuestas
 - 2k visitas
 
 - 
									
 - 
				
				
Buen día..., tengo un gran problema..., o tal vez..., pequeño para otros... Algunas fórmulas del Libro1 marcan #¡VALOR!..., pero al momento de abrir el Libro2..., funcionan correctamente...! Quiero saber si hay una manera de trabajar con esas formulas y que funcionen correctamente sin necesidad de abrir el Lirbro2. Adjunto archivos e imágenes...! Saludos...! Libro1.xls Libro2.xls
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 591 visitas
 
 - 
									
 - 
				
				
Hola a todos, Me gustaría preguntar si alguien tiene desarrollada una función tal que cuando el usuario introduzca un número cualquiera, entonces la función devuelva la referencia de la columna asociada a ese número. Algo así, por ejemplo: Function ReferenciarColumnas(numero As Integer) As String Application.ScreenUpdating = False ' Limpiamos los errores anteriores (por si acaso)... Err.Clear ' Tratamos los errores de la función... On Error Resume Next ' Si el número introducido no es válido, entonces... If numero <= 0 Or numero > 16384 Then ' Notificamos al usuario con un mensaje de error... MsgBox "El nú…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 853 visitas
 
 - 
									
 - 
				
				
Hola. Añadí una funcion a un libro de excel que ya tenía bastantes macros. La funcion me permite estandarizar el formato de la informacion en una columna de una hoja en particular del libro. El caso es que cada vez que corro una macro, la rutina pasa siempre por la funcion y asumo que la funcion va a repasar todas las celdas para la que fue creada (casi un millón de filas). Eso me relentiza muchisimo el proceso. Existe alguna manera de hacer que la macro evite ejecutar la funcion o saltarla de algun modo?.
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 563 visitas
 
 - 
									
 - 
				
				
Hola compañeros, Queria hacer una consulta sobre una función que necesito, pero no he podido encontrar como generarla. ¿Cómo puedo hacer que una función retorne especificamente la dirección de la celda donde esta fefinida esa misma función? Resumiendo solo a lo que necesito, pense que era solamente Function direccion_celda() As String direccion_celda = ActiveCell.Address End Function Pero me di cuenta que como voy a estar ejectutando y moviendome entre celdas, la función no me retorna necesariamente la celda de la función. Quedo atento a su valiosa colaboración. Saludos.
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.7k visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Hola como puedo hacer para que mi funcion se actualice sola en la celda como lo hacen las funciones propias de excel, me explico si pongo en una celda =ahora() esta se auto refresca cuando cambio algún valor de la celda, pero si yo creo una funcion como esta Public Function Mifuncion() As String Mifuncion = Now End Function y luego en la celda pongo =Mifuncion() esta no se auto refresca cuando cambio un valor en cualquier celda. Gracias
- 
									
0
Reacciones de usuarios
 - 5 respuestas
 - 1.6k visitas
 
 - 
									
 - 
				
				
Buenas, tengo un programa ligeramente complejo bastante rematado, pero me falta un tema. Tengo una función que se encarga de contar las celdas de tal color, desde una fecha hasta otra. Esto funciona bien. El problema es que esta funcion actua sobre 100 hojas, todas iguales, creadas a partir de una como plantilla. El problema es que si por ejemplo, actualizo (ya sea de manera automatica, o a mano) el libro completo estan sobre la hoja1 (teniendola activa), todas las funciones del libro se actualizan teniendo en cuenta las casillas de la hoja activa. Es posible decirle a la macro, usa F2 de TU HOJA? Adjunto el archivo de excel. La funcion problematica se encuentra en e…
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 720 visitas
 
 - 
									
 - 
				
				
Hola a todos Primero que nada deseo agradecer el tiempo en leer este post, Muchas Gracias. Me acerco a ustedes para pedir su ayuda para lo siguiente: Tengo una UDF, la cual tiene dos escenarios: 1.- Si Tiempo Promedio y Duración del Video son diferentes de 0, hacer el calculo 2.- Si lo anterior es igual a 0, se realiza el otro calculo por cuartiles. El detalle es que son muchas celdas a seleccionar, lo cual creo puede ser engorroso, entonces, pensando en simplificar la función, me pregunte si fuera posible: a.- Colocar 1 al principio de la función y después solo seleccionar 2 celdas correspondientes (Rango continuo o discontinuo) b.…
- 
									
0
Reacciones de usuarios
 - 4 respuestas
 - 620 visitas
 
 - 
									
 - 
				
				
If Mid(ComboBox1.Value, 1, 1) = "B" Or Mid(ComboBox1.Value, 9, 1) = "B" ThenTipo = 2ElseTipo = 1End IfAncho = Mid(ListBox1.Value, 1, 3)If Mid(ListBox1, 18, 1) = "u" ThenEspesor = Mid(ListBox1.Value, 16, 2)ElseEspesor = Mid(ListBox1.Value, 16, 3)End IfDim importacion As Variant, Proveedorproducto As Variantimportacion = Application.VLookup(TextBox7.Value, Worksheets("Estructura COD. Lotes Film").Range("A3:J102"), 3, False)Proveedorproducto = Application.VLookup(TextBox7.Value, Worksheets("Estructura COD. Lotes Film").Range("A3:F102"), 6, False)If IsError(importacion) = False ThenCells(n, 7).SelectActiveCell.FormulaR1C1 = TextBox7.Value & importacion & Proveedorprod…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 1.7k visitas
 
 - 
									
 - 
				
				
Hola, Quiero hacer una macro que cada vez que escriba en una celda, al cambiar de celda me borre una de las celdas repetidas. Para ello utilizo el evento Worksheet_Change, que por lo que entiendo, se ejecuta cuando se cambia de celda. El problema que tengo es que no me ejecuta la macro. No me hace nada y tampoco hay ningún error. Este es el código: Public Sub Worksheet_Change(ByVal target As Range) Dim f_max, c_max As Long f_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Row Range("E" & Rows.Count).End(xlUp).Row UltFila = Range("E" & UltFila + 1).Select If (target = UltFila) Then For f = 3 To f_max For ff = 4 To f_max If ActiveCell.Value = Acti…
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 3.4k visitas
 
 - 
									
 - 
				
				
Buenas tardes Vengo a pedir consejos de procedimientos sanos que eviten problemas cuando una tabla de transacciones vaya creciendo mucho. Alzo una carpeta en donde están dos libros muy básicos y en uno de ellos uso INDICE y COINCIDIR pero buscando en el otro libro. En el libro de compras están escritas mis dudas. Muchas gracias. Rubén 2023_0523 Compras00.xlsx 2023_0523 Proveedores00.xlsx
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 656 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenas tardes, tengo el siguiente problema: Realice un Userform para que pase los datos a celdas de Excel, y en este userform en algunos TextBox utilice formulas manejando la funcion Change, el problema es que al colocar los datos en el userform todo lo hace bien y de hecho lo pasa a las celdas que corresponden pero detiene la macro al final, mandando error "Se ha produciod el error 13 en tiempo de ejecucion: No coinciden los tipos y me ilumina en amarillo la primer linea de la siguiente macro: Private Sub Gravamen_Change() TextBox2.Text = (Format((Ingr.Text) * (Gravamen.Text) / 100, "#,##0.00")) TextBox3.Text = (Format((Ingr.Text) + ((Ingr.Text) * (Gravamen…
 - 
				
				
Buenos días a los integrantes de este foro, en esta ocasión recurro a uds, para que brinde su apoyo en como mejorar la siguiente macro, lo que requiero es que me permita seleccionar la ruta donde se encuentra el archivo a utilizar, ya que esta macro ejecuta todos los archivos que se encuentran en dicha carpeta (previamente haber copiado todos los archivos a una carpeta determinada) y lo otro sería que si solo mostrara los archivos que empiecen con el nombre CONSOLIDADO xxxxxxxx.xlsm o CONSOLIDADO xxxxxxxx.xlsx, para lo cual adjunto archivos como ejemplos. archivo principal: MUESTRA FORMULARIO.xlsm Private Sub CommandButton2_Click() Dim ruta As String Dim …
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 1.6k 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.