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?
8690 temas en este foro
-
¡Hola a tod@s! Tengo la siguiente macro: [CODE][CODE]ConstceldaInicial = "A1" Const celdaFinal = "IR29" Dim miRango As Range Set miRango = ActiveSheet.Range(celdaInicial & ":" & celdaFinal) [/CODE] [/code] pero necesitaría que me recorriera el rango desde la celda A1 hasta la última celda que no esté vacía en la fila 29 celdaInicial:(ultima celda no vacía)29 Agradecería mucho cualquier ayuda que pudiérais ofrecerme.
-
0
Reacciones de usuarios
- 4 respuestas
- 2k visitas
-
-
Hola a todos, La duda que tengo es como hacer recorrer un rango por ejemplo (A1:A5) en el siguiente ejemplo: Function Revo(A1:A5, y) For f = 1 To 100 Tiwr = (1 + f * (A1 / y))*(1 + f * (A2 / y))* ... *(1 + f * (A5 / y)) If Tiwr > wer Then wer=Tiwr If wer=Tiwr Then t=f Next f Revo = t End Function Lo que quiero es que me de la f que hace maximo el valor de Tiwr que depende del rango A1:A5 y y. Gracias
-
0
Reacciones de usuarios
- 0 respuestas
- 1.4k visitas
-
-
Hola a todos! como estan? recientemente me he sumando al foro, aunque lo he seguido hace mucho, son siempre mi referencia para cualquier duda o consulta asi que feliz de poder sumarme... Ahora tengo un problema que me esta rompiendo la cabeza hace dos semanas, y me atasque. Tengo una base de registros con mas de 170000 filas, cada registro puede tener mas de una fila, la base esta en la hoja 1. Luego en la hoja dos tengo dos tablas, una a la izquierda que tiene esos mismos registros y su codigo U (ubicacion), sin duplicados. Otra tabla mas a la derecha que agrupa los Codigo de Usos de cada registros segun la categoria sea Seccional, Division o Cent…
-
0
Reacciones de usuarios
- 8 respuestas
- 780 visitas
-
-
Buenas tardes. Necesito un mano ayuda. Estoy creando un pequeño gestor de inventario, y al momento de ingresar entradas o la cantidad del producto lo hago por medio de un formulario (como se muestra en la imagen). ¿Cuál es su funcionalidad? En el combobox se filtran solo las hojas donde se guardan los productos, precios, cantidad de entrada y salida etc. el cual al seleccionar la Hoja debe de posicionarse en la celda que contiene el nombre y la cantidad de entrada y hacerlo visible en los textbox del formulario y poder recorrer las filas de las columnas de dichos campos por medio del botón next. el botón guardar debe solo reconocer el…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.1k visitas
- 2 seguidores
-
-
Saludos compañeros, Necesito recorrer un rango de celdas en una hoja "PLANTILLAS" y validar cuáles son distintas de cero, las que cumplen el criterio uso esa referencia y el contenido en otras celdas (en esa misma hoja) para llevarlas a una tabla en una hoja "TABLA_DATOS" . Soy novato en esto, hice una macro pero no se comporta como espero puesto que copia los datos que cumplen con los criterios y los que no también, además que la información la exporta cientos de veces (seguramente hay algo que no está bien definido con los bucles) . De antemano agradecido, espero puedan ayudarme. A continuación la macro: Public Sub enviar_datos() Application.ScreenU…
-
0
Reacciones de usuarios
- 2 respuestas
- 627 visitas
-
-
Hola, necesitaba un codigo para una macro en donde recorre una matriz ( de 2 puntos dados) y nos guarde o visualice las coordenadas por donde ésta pasa, no solo la intersección Muchas gracias
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Hola a Toda la Comunidad, Nuevamente recurro a vosotros para solucionar una pequeñez para vosotros y una montaña para mí. Tengo una hoja para introducir datos que posteriormente son volcados/copiados a otra hoja. Necesito establecer el recorrido de las celdas en la introducción de los datos, obligando al usuario a pasar por las celdas y no olvidarse la introducción de datos. El recorrido de las celdas debe ser: D6-B10-C10-D10-G10-H10-D12-D13-C16-C17-C18-C19-E16-E17-E18-E19-G16-G17-G18-G19-I16-I17 He buscado por todo el foro y no he sabido encontrar una solución viable. Alguno sabe como solucionar este pequeño problema. Gracias anticipadas. Un Saludo Xavi
-
0
Reacciones de usuarios
- 7 respuestas
- 1.3k visitas
-
-
buenas a todos, os comento tengo una serie de tablas (resultados de beisbol) de equipos que han ganado los partidos en periodos mensuales (hoja 1) y el receunto de esas hojas almacenado en la hoja 2. basicamente mi intención es copiar la columna C de cada una de las paginas e ir pegandolo en las columnas de la hoja 2 (A partir de la columna D en adelante) Y en la columna C hacer la suma de las filas introducidas. Aquí os dejo el ejemplo que seguro que con el lo veis más claro Gracias y Saludos Temporada_2nd.zip
-
0
Reacciones de usuarios
- 0 respuestas
- 792 visitas
-
-
tengo el siguiente codigo Sub limpiar2() Application.ScreenUpdating = False Sheets("PRODUCCION").Select Range("A7").Select ActiveCell.ClearContents Range("A7:A524,B7:B524,D7:CF524,CH7:CM524,EL7:EO524,FC7:FS524").Select Selection.ClearContents Application.ScreenUpdating = True Range("A7").Select End Sub como puedo hacer para recuperar los datos que ya fueron eliminados, osea que si al final me arrepnti de borrarlos cual seria el codigo para una macro que me ayude a recuperar los datos borrados. Gracias
-
0
Reacciones de usuarios
- 6 respuestas
- 6.2k visitas
-
-
Gracias por revisar mi pregunta en el archivo adjunto explico lo que deseo, gracias de antemano. un saludo jesus gomez POLIZA DIARIO1.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 677 visitas
-
-
Hola, buenas noches. Tengo un problema, he declarado en una subrutina el Array OutArr(), y ahora que estoy trabajando en otra subrutina, para la cual necesito recuperar el valor dado a OutArr(2,Idx) pero no sé como hacerlo. El fondo de todo esto es que he guardado en este array datos sobre los archivos contenidos en una carpeta, y luego mas adelante voy a necesitar estos datos otra vez. [Public Sub Folder_List(TheFolders$, Idx As Long, OutArr) Dim fso As Object, Folder As Object Dim SubFol As Object, File As Object On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") Set Folder = fso.getfolder(TheFolders) 'Define the array where …
-
0
Reacciones de usuarios
- 3 respuestas
- 1.4k visitas
-
-
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
- 779 visitas
-
-
Que tal, estoy haciendo el calculo de la ruta critica de red CPM, lo tengo muy desordenado , pues no tengo experiencia y poco conocimiento en las funciones de Excel. Si alguien puede opinar acerca de este tema les agradezco. Les puedo dar mas datos , no los quiero agregar para no ocupar espacio en la pagina. trabajoa.xls
-
0
Reacciones de usuarios
- 0 respuestas
- 2.5k visitas
-
-
hola amigos, resulta que necesito saber un codigo para redactarme un mail en outlook, desde un boton de macros que me permita seleccionar un archivo a adjuntar pero que no me envíe el mail. saludos
-
0
Reacciones de usuarios
- 0 respuestas
- 767 visitas
-
-
Hola amigos. Les adjunto mi trabajo. Al pulsar el botón de la Hoja1 se abre un formulario que contiene un inkedit con bastante texto. Al pulsar sobre el botón del Formulario "Pasar a la celda F2", ese texto pasa a la celda F2, cuyos atributos ya he modificado por macro para que se ajuste a la altura del texto de que debe contener. Todo funciona bien, excepto que la celda llega a alcanzar su altura máxima permitida por las limitaciones de Excel, por lo que hay una cantidad de texto del formulario que no se ve en la celda. No quiero tocar el ancho de la celda, porque luego la imprimiré y tiene que tener esa anchura. Así que me gustaría conseguir rea…
-
0
Reacciones de usuarios
- 10 respuestas
- 2.3k visitas
-
-
Buenos días a todos; En este foro he encontrado la macro que adjunto creo recordar que el autor es Antoni. Se trata de un Userform que contiene un "SCROLLBAR" y según se desplace o pulse sobre dicho scrollbar va aumentado el tamaño del frm. Mi pregunta es la siguiente, ¿se puede poner un tope para que no aumente mas su tamaño una vez alcanzado dicho tope? Saludos y buen día a todos. Redimensionar formulario.xls
-
0
Reacciones de usuarios
- 2 respuestas
- 1.2k visitas
-
-
Buenos días a todos;-Os voy a insertar un enlace de mi requerimiento donde os explico un poco lo que quiero conseguir si es posible.Enlace video: Video textBox En la macro tengo un textbox con la propiedad multiline en true.Al ir escribiendo una vez que llegue a un número de caracteres hace como un salto de línea y empieza e escribir debajo para eso lo que hago es ir aumentando el alto del textbox y Frame.Mi idea es que una vez que yo haga clic en el textbox este aumente el tamaño del alto si no coge en la línea hasta hacerlo coger todo y al hacer doble clic que recupere su tamaño inicial.La simulación la he hecho solo aumentando el alto y no sé si se puede tamb…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.2k visitas
- 1 seguidor
-
-
Hola. Esoty intentando que al abrir un libro se abra un formulario y queria que: o bien el excel se oculta, pero que se puedan utilizar al m ismo tiempo otros libros o bien que la ventana del excel se cambie al tamaño del formulario para ocultarlo detras del formulario y, ya puestos ? que al mover el formulario la ventana cambie la posicion tambien. He estado mirando por varios foros y no he visto nada que se ajuste a mis "pretendiones". Igual es que no se puede hacer :-(. Gracias MJ
-
0
Reacciones de usuarios
- 5 respuestas
- 1.8k visitas
-
-
Hola buenas tardes a todos. He estado buscando y no he encontrado nada sobre ello. Vereis tengo un código VBA para que me indique un número con 3 cifras significativas (ojo no 3 decimales). Por ejmplo: 123 65.1 8.89 0.235 0.0457 etc El código es el siguiente: Sub Macro2() Range("b2").Select While Not IsEmpty(ActiveCell) cifra = ActiveCell.Value a = 0 i = 0 While (a = 0 Or a = ",") i = i + 1 a = Mid(cifra, i, 1) Wend If i = 1 Then If InStr(1, Mid(cifra, 1, 3), ",", vbBinaryCompare) Then cifra = Left(cifra, 4) Else cifra = Left(cifra, 3) End If Else cifra = Left(cifra, 2 + i) End If ActiveCell.Offset(1, 0).Value =…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
BUenas noches, por favor su apoyo con esta consulta, quiero redondear decimales de una formula al momento de hacer una macro en excel por ejemplo n*3*0.7, supondiendo que n es igual a 5, el total me sale 10.5, ahora le pongo delante Int(n*3*0.7) y me 10, pero quiero que se redonde a 11, como puedo hacer para que cuando el decimal es mayor o igual a 5 se redonden al mayor, esto lo estoy poniendo como parte de un programa en vb. Gracias
-
0
Reacciones de usuarios
- 1 respuesta
- 3.2k visitas
-
-
Buenas tardes, Estoy utilizando esta fórmula =NSHORA(HORA(E2), MULTIPLO.SUPERIOR(MINUTO(E2), 15), 0), para redondear hacia arriba los minutos y horas y me da error al meterla en la excel, a ver si alguien me ayuda a ver como lo hago : EJEMPLOS si : 02:52 me devuelva 03:00, si 01:12 me devuelva 01:15, si 01:23 me devuelva 01:30, si 01:34 me devuelva 01:45. muchas gracias por anticipado.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.7k visitas
-
-
Hola a todos, Por favor si alguien me puede ayudar con lo siguiente: Tengo una macro, la cual redondea los importes que están a partir de la fila 8 de la columna E,F,G, dichos importes deben redondearse siempre hasta la misma altura de datos del correlativo (columna B) actualmente la macro hace su trabajo, pero el problema es que cuando varia la cantidad de datos del correlativo tengo que estar manipulando la programación de la macro y me genera ceros debajo del rango que deseo redondear. Libro2.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 845 visitas
-
-
Se tiene una tabla en la cual existen datos duplicados en los cuales solo el campo "Tma" varia y todos los demas datos son iguales, por lo cual necesito elimar todos lo datos duplicados y solo dejas uno en el cual pueda unificar los datos de los demas archivos en una mismo en donde en el "Tma", se vean reflejados las variabñles de los demas que se elimnaron!!... Ejemplo: [TABLE=class: outer_border, width: 50] [TR] [TD]NOM [/TD] [TD][TABLE=width: 50] [TR] [TD]CAR [/TD] [TD][/TD] [/TR] [/TABLE] [/TD] [TD][TABLE=width: 50] [TR] [TD][/TD] [TD]EQUIPO [/TD] [TD][/TD] [/TR] [/TABLE] [/TD] [TD][TABLE=width: 50] [TR] [TD][/TD] [TD]NUME [/TD] [/TR] [TR] …
-
0
Reacciones de usuarios
- 2 respuestas
- 739 visitas
-
-
Buenas estimados, Es posible reducir el código de la siguiente macro? Los slicers se pre-seleccionan dependiendo del usuario de la computadora donde sea abierto el reporte, el libro está bloqueado con ribbon y pestañas ocultas, el problema del código es que son varios usuarios con diferentes accesos por lo que se puede hacer extenso. Muchas gracias por la ayuda. Sub slicer() ' ' slicer Macro ' Application.ScreenUpdating = False Dim usuario As String usuario = Environ("username") If usuario = "perezq" Then MsgBox "Bienvenido " & usuario Sheets("control").Select With ActiveWorkbook.SlicerCaches("Slicer_País24") .SlicerItems("Costa Rica").Select…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.5k visitas
-
-
como puedo mejorar este codigo byfejoal para que realice la condicion de resaltar las celdas azules que estan cerca a la celda de borde a una distancia de 21 celdas anterior y porterior a la celda de borde el codigo realiza ese proceso pero me gustaria que el codigo fuera un poco mas reducido y ademas tengo problema con esta linea del codigo sub color Sub color() Worksheets("hoja2").Range("b2:ac33").Interior.color = xlNone Set ha = Worksheets("hoja2").Range("b2:ac33") Set hn = Worksheets("hoja1").Range("a1:cy42") 'controlar rango For i = 1 To hn.Cells.Count 'si la columna es par se omite If hn.Cells(i).Column Mod 2 = 0 Then GoTo SALIDA …
-
0
Reacciones de usuarios
- 3 respuestas
- 688 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.