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
-
Hola. Saludos a todos. Tengo dos hojas una se llama saldos y la otra resumen. La hoja saldo la obtengo de un reporte web donde la paso a excel y le aplico filtros. En esta hoja sale información de saldos de varias cuentas ordenadas. Ejemplo de la 1 a la 100. Y cada linea con su saldo. En la hoja resumen necesito trasladar esos saldos pero no son todas la cuentas que salen en la hoja saldos. No se si me explico bien. En resumen es tralasra saldo de hoja saldo a la hoja resumen , pero filtrando las cuentas en la hoja saldo , por que no las necesito todas en la hoja resumen . El archivo es muy grande para subirlo. Agradezco ayuda o sugerencias
-
0
Reacciones de usuarios
- 1 respuesta
- 731 visitas
-
-
Buen dia Reciban cordial saludos a todos hoy les pido la colaboración con el siguiente tema ya que no he podido, en el libro adjunto, tengo que sacar un informe de relacion entre las fecha, hora de incio y coordinador de la siguiente manera. Son varias las opciones del filtro. 1 tiene que coincidir la fecha, la hora de inicio y el coordinador. 2 tiene que coincidir la fecha, la hora de inicio tiene un lapso de tiempo no mayor a 30 minutos, el coordinador. en la hoja de deje subrayado dos ejemplos para que se puedan guiar mejor del resultado que requiero les agradezco si me pueden colaborar. quedare atento…
-
0
Reacciones de usuarios
- 2 respuestas
- 1k visitas
-
-
Buenos días compañer@s, espero que estéis tod@s bien A ver si me podéis ayudar con este fichero que me encontré en la red y que se abre poniendo un usuario y una contraseña (usuario: arodriguez, contraseña: Hola). Por lo menos intento que haya "algo" de seguridad para los usuarios que lo vayan a trabjar. De momento lo único que tengo, cuando se introducen bien las dos variables, es un listado con usuarios y contraseñas inventado. El tema es que cuando se abre el cuadro de diálogo, en mi caso, si cancelo y vuelvo a pinchar en el fichero, se me abre sin pedirme las credenciales Me podéis ayudar? Muchas gracias Usuario_Contraseña_1…
-
0
Reacciones de usuarios
- 1 respuesta
- 935 visitas
-
-
Hola a todos, tengo esta macro la cual me dice si la fecha que introduzco es menor a la del sistema, lo que deseo es que no me me escriba esa fecha si es menor a la del sistema. Espero haberme explicado y espero vuestra ayuda Sub CheckDate() Dim Mes As String, Año As String, FechAs As Date, Hoy As Date, Sig As Long Hoy = Format(Now, "dd/mmmm/yyyy") Mes = ComboBox1 Año = ComboBox2 FechAs = Dia & "/" & Mes & "/" & Año If FechAs < Hoy Then MsgBox "La fecha asignada es menor a la de hoy" Sig = 1 Else MsgBox "Fecha asignada correctamente" End If End Sub fecha.txt
-
0
Reacciones de usuarios
- 5 respuestas
- 844 visitas
-
-
Buenas tardes; Estoy utilizando una macro que encontre aqui para presionar un boton e incrementar (m) el valor de un numero (ubicado en "I") y otro boton para bajarlo (ubicados en 0 , mi pregunta es como puedo hacer para que si el valor de la celda supera el "3" vuelva a 1, espero que me hayan podido entender. Nos se programar en visual pero estoy buscando algo similar a "If value >3; 1 " . Muchas gracias Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If IsEmpty(Range("I" & ActiveCell.Row).Value) Then GoTo Linea1 If Not Intersect(Target, Range("M" & ActiveCell.Row)) Is Nothing Then Range("I" & ActiveCell.Row).Va…
-
0
Reacciones de usuarios
- 1 respuesta
- 825 visitas
-
-
Buenos días amigos, estoy intentando mantener pintada la celda de la bolilla del BINGO, en mi tablero de control, pero en cada click a la macro me borra el valor pintado anteriormente. 1. ¿Qué comando podría darle a la macro, para que no despinte la celda anterior? 2. ¿Qué comando podría utilizar para "eliminar" las bolillas que ya han sido cantadas (pintadas)? Espero puedan ayudarme, un abrazo a todos. Adjunto el archivo de excel. Marcos Bingo_Telas_en_Pandemia.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 793 visitas
-
-
Buenas tardes amigos, un gusto saludarlos de nuevo! Fíjense que ahorita estoy trabajando con una hoja de excel donde necesito copiar uno o varios criterios y pasarlos en otra hoja, para no utilizar el autofiltro de excel y no copiar por partes, se me ocurrio realizar esos filtros desde un Listbox, a continuación explico. 1. Para empezar necesito que en la columna G de la hoja 1, cargue en listbox los datos pero que no se repitan (Folios únicos) y despues (Cabe mencionar que los datos de esa hoja son variables, pueden ser 1 o hasta 10,000 registros). 2. que me de la opción de seleccionar cual quiero copiar y pasar en la hoja de resultados (Tipo multiselect).…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.8k visitas
- 1 seguidor
-
-
Buenas!!! A ver si me podéis ayudar, por favor! Tenía el siguiente código que funcionaba con pocos datos: busca.Offset(2, -13).Select With ActiveCell .Resize(Rows.Count - .Row, Columns.Count - .Column).Clear End With Pero al ponerlo en práctica real, me aparece error por recursos insuficientes en Excel ? ¿Esto hay forma de arreglarlo o no es posible? Muchas gracias.
-
0
Reacciones de usuarios
- 1 respuesta
- 666 visitas
-
-
Buenas Tardes, Tengo una macro la cual me permite seleccionar múltiples libros excel para poder juntarnos en uno solo. Existe alguna forma que cuando me muestre los libros que quiera abrir, estos se seleccionen solos? Sin tener que seleccionarlos uno? Es decir, yo quiero que siempre se abra de una direccion el libro1.xlsm, el libro2.xlsm y el libro3.xlsm. Gracias. Prueba.xlsm
-
0
Reacciones de usuarios
- 8 respuestas
- 1.7k visitas
- 1 seguidor
-
-
Hola a todos, primer día aquí en este foro, espero podáis ayudarme con un asunto que me lleva de cabeza. He preparado un excel para registrar vacaciones etc. El funcionamiento es el siguiente: A) el empleado tiene un número de días máximo por semana para coger, si sobrepasa el % la siguientes celdas aparecerán coloreadas en naranja b) la macro que he estado haciendo identifica estos subrangos (semanas) y aplica el criterio anterior, y colorea celdas. El problema está en los meses con menos de 31 días, como es Junio. El rango que colorea la macro se desplaza una columna a la izq. Mi intención es por ejemplo, en el caso de Junio, que la macro ident…
-
0
Reacciones de usuarios
- 2 respuestas
- 967 visitas
-
-
Buenas Tardes, Alguien me podria apoyar con resumir las operaciones ya que desarrolle las operaciones en un rango de filas por ejemplo hasta 45, sin embargo muchas hojas son variables y la formula a veces es mas de 45 hasta 100 o 200 filas, por lo que se demora un poco en las operaciones, habra alguna forma de que las operaciones se hagan en funcion de la cantidad de datos de determinada columna SAludos, Sub ProcesarMO() Dim celda As Object Dim rng As Range Set rng = Range("I13:FE13") For Each celda In rng valor = celda.Value If valor Like "*S*" Then celda = Val(Range("G13")) * Val(Range("H13")) / 9.5 Next celda …
-
0
Reacciones de usuarios
- 5 respuestas
- 958 visitas
- 1 seguidor
-
-
Buenos días Como se puede poner la ruta donde guardar el fichero pdf en la macro que tiene esta hoja factura Gracias Factura.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 4.7k visitas
-
-
Buenas tardes, espero puedan ayudarme con este dilema tengo una hoja donde deseo sumar las compras del mes en 2 columnas por separado, y x color 1ra. columna de c8 hasta c150.............sumar solo lo k esta de negro, asi tenga otros colores 2da. columna de g8 hasta g150.............sumar solo lo k esta de negro, asi tenga otros colores adjunto un archivo-.gracias. 04-DEUDAS.xlsx
-
0
Reacciones de usuarios
- 1 respuesta
- 849 visitas
-
-
Gastos-Ingresos Casa.xlsmEstoy haciendo un archivo para llevar gastos de casa, y estoy buscando una macro para que me haga la suma en la columna de saldo la suma gastos y de ingresos y la sume en la columna de Saldo. he intentado buscar pero no consigo que me funcione , lo he `probado con con hacer con la macro de excel y tampoco me funciona, os lo agradezco si me podéis ayudar con esta macro. Muchas Gacias Saludos
-
0
Reacciones de usuarios
- 27 respuestas
- 2.5k visitas
- 1 seguidor
-
-
¿Es posible declara una variable Tipo Range como Private? Ej: Private cel as Range ----------------- Sub Prueba Dim cel As Range Set cel=cells(1,1) Call Prueba2 End Sub --------------- Sub Prueba2 Msgbox cel End Sub Es que no lo consigo de ninguna forma y no he visto nunca nada al respecto. Gracias
-
0
Reacciones de usuarios
- 2 respuestas
- 654 visitas
-
-
Hola, Hay alguna macro posible que haga que sólo se pueda seleccionar una celda a la vez? De manera que el usuario no pueda seleccionar más de una celda a la vez Gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 801 visitas
- 1 seguidor
-
-
Prueba.xlsx Saludos y muchas gracias a todos de antemano. Adjunte una tabla que aunque no les parezca lógica es muy parecida a lo que quiero hacer. No puedo subir la original por mi trabajo, pero la primera columna es exactamente lo que tengo, me explico. Verán en la tabla adjunta una serie de información tal como: 9010-00 sin ninguna información en la columna de información. Me interesa añadir de manera automática lo siguiente: Por ejemplo 9010-00 -- la información del 9010-01, la información del 9010-02, ...... 9010-01 --- información del 9010-01 9010-02 -- información del 9010-02 Luego viene otra nueva 9012-00 -- la información del 90…
-
0
Reacciones de usuarios
- 2 respuestas
- 683 visitas
-
-
Buenas tardes En la celda E45 tiene que tener un numero para que cuando realice una consulta me muestre todo los datos pero hay veces que ese campo no se rellena y quisiera que tuviese un 0 por ejemplo Y no se que solución darle Factura Ayuda.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 639 visitas
-
-
¿Es posible cambiar el caracter del separador decimal en VBA para VBA? Me explico, se que la instrucción Application.DecimalSeparator = "." cambia el separador del sistema al punto ("."). Pero esta instrucción sirve sólo para el sistema, es decir, si yo escribo en la celda A1 el valor 0,5 éste se muestra como 0.5. Pero si en VBA ejecuto Msgbox 1/2 el resultado lo muestra como 0,5 y necesito que el resultado se muestre como 0.5 Por eso pregunto ¿cómo cambiar el caracter decimal en VBA para VBA? Lo que hago ahora es que cada vez que tengo que mostrar un número lo hago con Replace(Cstr(núm),"'","."), primero paso el número a cadena y después reemplazo el…
-
0
Reacciones de usuarios
- 2 respuestas
- 5.2k visitas
-
-
En las hojas de cálculo he usado bastante las funciones mín común múltiplo (M.C.M) y máx común divisor (M.C.D). Pero ahora estoy haciendo una macro y no encuentro esas funciones en V.B.A. Me cuesta creer que no venga implementada. Si es así, me gustaría conocer alguna macro sencilla para obtener esas funciones. Gracias.
-
0
Reacciones de usuarios
- 4 respuestas
- 3.2k visitas
- 1 seguidor
-
-
Buenas tardes. Me podrían apoyar por favor en darme una guía de como puedo obtener lo siguiente: tengo una macro que recorre la fila 1 hasta el último dato.. ejemplo A1 hasta AA1. Lo que trato de hacer es que si el valor es mayor a 3 letras entonces me limpie el contenido, pero cuando se encuentra con celdas combinadas me marca error. No puedo eliminar las celdas combinadas, porque me descuadraría mi archivo. Sub Eliminar_texto() Dim lc As Long, col As Long lc = Cells(1, Columns.Count).End(xlToLeft).Column For col = 1 To lc If Len(Cells(1, col).Value > 3) Then Cells(1, col).ClearContents Next End Sub Gracias por la ayuda y su tiempo. ☺️ MiEje…
-
0
Reacciones de usuarios
- 4 respuestas
- 4k visitas
-
-
Hola, amigos. Seguro que me van a poder ayudar en este tema. He creado una macro para guardar un documento con el nombre que se contiene en una celda. Mientras que la ruta donde guardarlo nos lleve a un espacio del disco duro, no hay problema. La coas se complica cuando intento guardarlo en una biblioteca de Sharepoint, ya que aunque no me da ningún error al ejecutar la macro, el archivo no llega a destino Gracias de antemano por su ayuda El código es el siguiente: Sub Guardar_Ficha_Cliente() Dim nombre As String nombre = Range("N4").Value ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _ "/Users/andreu/Desktop/" &…
-
0
Reacciones de usuarios
- 0 respuestas
- 4k visitas
-
-
Hola a todos. Tengo el siguiente código para copiar columnas de una hoja a otra, pero si en la primera tengo fórmula, me copia la fórmula; y ahora necesito que me copie solamente los valores, como cuando hacemos un pegado especial manualmente. Dim ShER1 As Worksheet Dim SHDestino1 As Worksheet Set ShER1 = Worksheets("b.p.") Set SHDestino1 = Worksheets("b.d.") ShER1.Range("b10:D1500").Copy SHDestino1.Range("b10:D1500").PasteSpecial Paste:=xlAll Application.CutCopyMode = False ¿Alguien puede decirme el código para hacer lo que pretendo? …
-
0
Reacciones de usuarios
- 2 respuestas
- 779 visitas
-
-
Buenas a todos, No se como explicar el problema que tengo.. espero hacerlo bien. Tengo un libro excel al cual le cree un menú que se abre con diferentes opciones (auto Open). Este archivo es necesario enviarlo todos los días via correo, pero por lo general mis jefes no necesitan guardarlo sino que simplemente abrirlo y echar un vistazo.. El problema que tengo es que el archivo se llama "EOD Mayo V2.xlsm" pero cuando lo abren en modo lectura sale con el nombre "EOD Mayo V2.xlsm (1)", como que crea una copia.. Y esto arruina los vinculos y deja de correr la siguiente instruccion: Private Sub Label1_Click() Application. _ Workbooks("EOD Mayo V2.xlsm"…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.3k visitas
-
-
Buenas Tardes: Me pueden ayudar como hago para corregir este error ya que en mi pc no sale pero le envio el archivo a otra persona via email y le sale, a esa persona no le sale la linea donde esta el error, solo sale el error y ya.
-
0
Reacciones de usuarios
- 1 respuesta
- 2k 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 [email protected]
Información adicional: Encontrarás más información en la política de privacidad.