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
- 
				
				
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
 - 486 visitas
 
 - 
									
 - 
				
				
Buenas tardes. Y si en lugar de copiar todos los ficheros en las rutas indicadas, fuera un fichero, una ruta. Es decir, el fichero de la b4, copiarlo en la ruta del f5, el fichero de la b5, copiarlo en la ruta del f6. Puedes ayudarme ? Muchas gracias por tu tiempo y ayuda !!!
- 
									
0
Reacciones de usuarios
 - 4 respuestas
 - 486 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Hola, Hace unos días me ayudasteis a resolver una macro que buscaba en un listado la fecha coincidente o de no coincidir ninguna, te daba la más cercana comparando con otro listado. Funciona genial, pero me han surgido dos problemas al adaptarlo. 1) Si el listado donde busca (hoja FECHAS del ejemplo) es más corto que la hoja donde hay que pegar el resultado (hoja RELLENAR en el ejemplo), solo te añade el mismo número de registros que en la hoja donde busca. No sé si esto es algo que yo estoy haciendo mal al adaptarlo. 2) No he conseguido adaptarlo para que lo haga por cada cambio de código en hoja RELLENAR (columna a). Es decir, si es el código es "a" …
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 486 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Un saludo a todos. Este es mi primera consulta e igual no esta bien ubicada, espero que si. Tengo una hoja que es un resumen global. Tiene datos variados que debo registrar en diferentes tablas para ver las evoluciones y analizar datos. Obviamente a mano es factible, pero entre los formatos extraños y que son 2 por semana me parece tedioso y quisiera automatizar el proceso lo más posible. Se que web scraping facilitaría las cosas, pero aún no veo haciendo eso y aunque se que la consulta puede resultar algo genérica espero que al ver la tabla de ejemplo alguien me pueda dar alguna via, o al menos sugerir, para ir avanzando en esta tarea. Gracias …
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 484 visitas
 
 - 
									
 - 
				
				
Equipo buenas noches, espero esten bien. Soy nuevo en este mundo del vba de excel. En sintesis mi proyecto es crear estados de cuenta para clientes, para ello disene en excel un estado de cuenta, ahora toca salvar en pdf, esa parte esta lista para un solo documento, pero tengo un data validation list con todos mis clientes, la idea es que se cree un loop que vaya nombre por nombre de la lista y me salve un pdf por cada cliente en una ruta previamente definida. les dejo el codigo que tengo hasta el momento para ver si me pueden ayudar: Option Explicit Sub GuardarEstado() Dim nombredearchivo As String Dim NombreHoja As String …
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 483 visitas
 
 - 
									
 - 
				
				
HOLA BUENAS NOCHES! DE ANTEMANO AGRADEZCO SU APOYO, AL NO SER EXPERTA EN EL TEMA DE MACROS ME VEO EN LA NECESIDAD QUE ME APOYEN CON ESTA PLANTILLA PARA OPTIMIZAR LAS ACTIVIDADES DE MI TRABAJO. ESTOY TRATANDO DE MODIFICAR ESTE LAYOUT PERO ME MARCA UN ERROR 13 EN TIEMPO DE EJECUCIÓN , NO COINCIDEN LOS TIPOS. LES ANEXO CAPTURA DE PANTALLA Y EL ARCHIVO. AGRADEZCO SU APOYO SALUDOS!! Libro1.xlsm
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 483 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buen día, Llevo todo el día intentando solucionar el error de 1004: no se puede copiar la hoja " sin ningún éxito, hice la prueba copiando otras hojas del libro y me lo permite pero no entiendo porque no me deja copiar y pegar la hoja "Portada". Espero me puedan ayudar, por favor. MacroCampañas.xlsm
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 480 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenos días, tengo una macro que me permite ingresar imágenes en la columna B según los nombres que están en la columna A. Pero ahora quiero agregarle una opción para que sean 2 columnas distintas y las imágenes justo en la columna al lado de los nombres. For i = 2 To Range("A" & Rows.Count).End(xlUp).Row arch = Dir(ruta & Cells(i, "A") & ".*") If arch <> "" Then With Cells(i, "B") Estas son las líneas de la parte de las instrucciones que deseo modificar, pero no consigo que funcionen agregando la columna C como ubicación adicional de los nombre y la columna D para que coloque las imagenes correspondientes.…
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 477 visitas
 
 - 
									
 - 
				
				
Buenos dias. He hecho un formulario y me da error. Me podeis ayudar Gracias
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 473 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenos dias, podrian ayudarme con lo siguiente: necesito un macro que copie un archivo pdf mediante su ruta, a continuacion yo la pegare manualmente a Webwhatsapp en otras palabras que el macro copie el archivo y lo tenga ahi hasta que yo lo pegue a donde corresponde, he encontrado varios pero unicamente copian de una carpeta hacia otra y las he modificado pero ninguno me ha funcionado.
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 473 visitas
 
 - 
									
 - 
				
				
buen dia tengo el referente codigo y quiero agregarle tambien que valla organizando por año pero que no me lo adicione a la hoja de excel solamante que sea referencia para organizar gracias.... e organize y adicione la fecha que es dia y mes pero no el año que solamante sea por codigo gracias envio codigo..ya organiza pero quiero ingresar el año Organizar.rar
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 468 visitas
 
 - 
									
 - 
				
				
Buen día, soy novata en macros, pero estoy realizando un proyecto en el cual realizo exámenes para distintas areas de mi trabajo, realicé un examen de falso y verdadero, coloqué un botón en el cual oculta filas y columnas con calificación y respuestas, al presionar el botón añadí una contraseña para que sólo una persona pueda hacer divha acción, el problema es que al poner la contraseña me acepta cualquier dígito incluso si solo pongo aceptar en el recuadro. Este es el código. Que me falta? Private Sub CheckBox1_Click() Dim respuesta respuesta = InputBox("Introduce el password ", "Password") If LCase(respuesta) = "…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 467 visitas
 
 - 
									
 - 
				
				
Hola adjunto una simulación de como aumentar un formulario arriba, abajo, derecha e izquierda por medio de unos botones. Es lo que se me ha ocurrido, no se si vosotros sabéis de alguna otra opción ¿? También preguntar si es posible hacer esto mismo con las teclas del propio teclado ¿?. Lo que si es importante es que siempre haya un procedimiento para recuperar tamaño y posición inicial. Saludos a todos y todas. MTamaño.xlsm
- 
									
0
Reacciones de usuarios
 - 4 respuestas
 - 466 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
hola, tengo un formulario que al introducir la fecha de nacimiento te da la edad en un textbox (ese codigo me lo facilitasteis y genial) ahora lo que quiero es que cuando se pinche un checkbox coja la edad del textbox y busque en la hoja excel la edad y asigne la tarifa que le corresponde. he puesto un codigo pero la variable "Fila" da error en "No coincide los datos" necesito vuestra ayuda para que me digais que estoy haciendo mal. gracias. adjunto fichero. Calcular_Edad (1)_ayudaExcel.xlsm
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 465 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Quiero copiar solo el resultado desde una macro que tiene formulas por día. Cada día la información se actualiza y la forma va a buscar x, hace el procedimiento y devuelve el resultado. Esto lo hace varias veces por día, todos los días. Por lo que a veces se truene el excel al querer manipular los resultados. Por ello siento que sería mejor pasar solo los resultados a un nuevo libro, una vez que la formula tenga dicho resultado. He visto que se pueden copiar datos condicionalmente, la condición aquí sería que la formula esté resulta. O tal vez hay otra forma más fácil pero no la encuentro.
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 464 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Buenas tardes, entro a la zona de macros porque imagino que será la solución a mi problema. Tengo un archivo con listas "encadenadas", dependiendo del lo que elija en la columna 1 me salen las opciones para la columna 2 y, de igual modo, dependiendo de esta última las opciones de la columna 3. Me gustaría que al borrar, o cambiar, el contenido de la columna 1: se borraran los datos de las columnas 2 y 3. Igualmente, que al borrar o cambiar el contenido del desplegable de la columna 2, se borrara el contenido de la columna 3. Ayer conseguí hacerlo (y no lo he guardado 🙈) para una fila, pero si quiero que sirva para todas ellas... no doy con la solución.…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 464 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Saludos a todos, tengo la variable ultimafila en una macro que me cuenta los campos en un rango para luego mostrar en un mensaje cuantos se van a generar, desde 1 hasta la variable, sin embargo el rango que está leyendo está formulado y me toma las formulas como campo aunque esté vacío. Necesito que solo me cuente las que tienen información así todas tengan la formula. Agradezco la ayuda 'la variable ultimafila está contando los campos con formula, así esté vacío, necesito que solo cuente los que tienen info ultimafila = Sheets("Tabla").Range("B" & Rows.Count).End(xlUp).Row Pregunta = MsgBox("Esta seguro de generar todos los recibos ?",…
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 463 visitas
 
 - 
									
 - 
				
				
Buenas tardes, de abte manos muchas gracias a la comunidad por la ayuda quisiera seleccionar la ultima celda con datos y copiarla para posteriormente pegarla en una hoja nueva, este es mi codigo Sub Copiar_Valores_Contabilidad() Sheets("Extraer_Rutas").Select For i = 2 To Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A" & i).Select Selection.Copy Next Sheets("Rutas_Fs").Select ActiveSheet.Range("A2").Select ActiveSheet.Paste End Sub …
- 
									
0
Reacciones de usuarios
 - 3 respuestas
 - 463 visitas
 
 - 
									
 - 
				
				
Buenas a todos tengo un problema de error, Que es lo que hace mis 2 códigos:1.- Al momento de escribir las letras transforma en mayúsculas automáticamente.2.- En determinadas celdas al cambiar la nota notifica mediante un un mensaje la modificación de la nota. Archivo: https://www.mediafire.com/file/1oteeptzmzv0spk/Modificación+de+notas.xlsm/file Ambas funcionan bien de manera independiente pero al momento de ambas me sale un error, como este: Acá se los dejo el código:--------------------------------------------------------------------------------------------------------------------------------------------Private Sub Worksheet_Change(ByVal T…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 461 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Tengo una macro que desde un txtbox ingresa un valor en una celda determinada, lo que ocurre que ese valor a veces es una fecha y a veces es texto. Indica la caducidad de un elemento, entonces introduzco por ejemplo 01/01/2025, pero en ciertas ocasiones ese elemento no caduca y entonces escribo "NO EXPIRED", pero siempre me muestra el resultado como fecha 00/Jan/0000. El codigo es TxtCYellow = CDate(.List(i, 13)) cuando es fecha, pero para introducir texto? Gracias
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 459 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Tengo el siguiente código que es un boton de modificar campos en el formulario, el detalle es que al modificar o cambiar información solo muestra la de la primera linea de cambio no entra en la segunda, que requiero para poder modificar en dos campos o mas la información: Private Sub cmdModificar_Click() Dim FILA As Object Dim LINEA As Integer Dim ValorBuscado As Integer Dim I As Long ValorBuscado = Me.txtNo Set FILA = Sheets("AMPARO").Range("A:A").Find(ValorBuscado, Lookat:=xlWhole) LINEA = FILA.Row Hoja1.Range("J" & LINEA).Value = Me.txtEstatusP.Value "Hago una modificación y se mues…
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 458 visitas
 
 - 
									
 - 
				
				
Buenos días, Necesito vuestra ayuda, estoy trabajando y me han pedido que haga una macro para unos archivos futuros, por ahora solo hay 3 archivos completos y el resto están vacíos y se irán completando a lo largo de los próximos meses. Necesito hacer una macro que copie los datos de varios archivos(en concreto 37) que se podría ampliar en un futuro en uno sólo. El archivo en el que estarán todos los datos está ubicado en el escritorio y los archivos con datos serán llamados 1,2,3...hasta el último que tendría de nombre de archivo 37. Sub CopyDataFromMultipleWorkbooks() Dim wbSource As Workbook Dim wbDestination As Workbook ' Open the destinat…
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 458 visitas
 - 2 seguidores
 
 - 
									
 - 
				
				
Hola foreros, gusto en saludarlos nuevamente, espero puedan ayudarme por favor a optimizar la obtención de datos que vienen desde varias hojas que tienen la misma estructura, el problema es que algunas tienen 3 filas con datos, otra puede tener 2 ó 1 fila con datos, entonces entiendo que con una macro es posible recorrer filas con datos... si lo encuentra ... lo copia y pega en hoja "compilado_HOJAS" quedando ésta como una tabla resumen, el resultado final de cómo debería quedar lo que necesito se muestra en la hoja "compilado_HOJAS", son muchas las hojas desde donde necesito obtener la información, para este ejemplo dejé solo algunas, espero haberme echo entender, pero…
- 
									
0
Reacciones de usuarios
 - 2 respuestas
 - 457 visitas
 - 1 seguidor
 
 - 
									
 - 
				
				
Hola Buenas Agradecería mucho su ayuda Busco copiar datos de un libro a otro, en este caso se llama [Exhibit Esc1.xlsx]1. Mina (Nombre de libro y pestaña) La problemática surge que son muchas celdas las que debo copiar y lo debo hacer con varios libros diferentes, entonces debo cambiar esa dirección de origen en todo. Mi idea es dar un valor de variable a la dirección de origen para luego solamente cambiar la variable. Dejo un ejemplo de como me funciona y lo que quiero hacer Saludos Funciona así: Sub Report2() Range("D22").Select ActiveCell.FormulaR1C1 = "=SUM('[Exhibit Esc1.xlsx]1. Mina'!R21C5:R21C7)" Range("…
- 
									
0
Reacciones de usuarios
 - 1 respuesta
 - 454 visitas
 
 - 
									
 - 
				
				
Hola buenos días, Tengo un archivo que utilizo para buscar carpetas dentro de una ruta indica. Con una parte del nombre de la carpeta busca y me da las rutas coincidentes, y con otra macro vinculo esa ruta para abrirlo. Pero me encuentro con el problema de que hay rutas que no puedo abrir, si estos tienen acentos. Mi consulta es existe otra manera de poder abrir estas rutas aun teniendo acentos. ya que tengo muchas carpetas. Muchas gracias Abrir Link.xlsm
- 
									
0
Reacciones de usuarios
 - 0 respuestas
 - 452 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 sergio@ayudaexcel.com
 
	Información adicional: Encontrarás más información en la política de privacidad.