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
-
Buen día, tengo la siguiente pregunta, tengo un shape en la hoja y al hacer click en este, quiero insertar otro shape, la cosa es que este segundo shp quiero que aparezca dentro del área visible de la hoja, el segundo shape debería aparecer debajo del primero, pero si el primero esta muy abajo el segundo debería mostrarse por enzima del primero para que quede en el área visible de la hoja. pongo una imagen a continuación en el primer cuadro se muestra bien en el segundo es como no quisiera que salga, y el tercero la solución para el segundo cuadro ahora bien a la hora de insertar tendría que preguntar if shape1.top + shape1.height + shape2.height - hoja…
-
0
Reacciones de usuarios
- 2 respuestas
- 826 visitas
-
-
Al intentar ejecutar este código para que me descargue links de fotos y los muestre en la siguiente columna, me sale un error de Visual Basic 400. La cuestión que empieza a funcionar y despues de mostrar la 2ª, 3ª, 4ª imagen sale el error. ¿Alguién sabe como podría solucionar esto? Disculpas porque soy bastante novato y muchas gracias de antemano. Sub pix() Dim url_column As Range Dim image_column As Range Set url_column = Worksheets(1).UsedRange.Columns("A") Set image_column = Worksheets(1).UsedRange.Columns("B") Dim i As Long For i = 1 To url_column.Cells.Count With image_column.Worksheet.Pictures.Insert(url_column.Cells(i).Value) .Left = image_column…
-
0
Reacciones de usuarios
- 2 respuestas
- 825 visitas
-
-
Hola a todos, estoy nuevamente trabada en algo que pareciera facil pero me ha estado complicando la vida absoluta... tengo el siguiente codigo, que lo que DEBERIA HACER, es por cada celda que este vacia "celda.Offset(0, 36)= empty" me ejecute = hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5). Lo unico que LOGRE es que me haga esa funcion en la ultima fila... no se como hacerlo para cada celda vacia ?. Porque la idea es que la hoja se va a ir cargando con nuevos valores, y las celdas que estan vacias significa que aun no hice el proceso fechaJuliana...Perdonen mi igorancia total pero probe varias formulas. y la unica que me ha funcionado parcial…
-
0
Reacciones de usuarios
- 4 respuestas
- 825 visitas
-
-
Hola: Sub ColorearMeses() For i = 1 To 12 Cells(1, Columns.Count).End(xlToLeft).offset(0,1).Offset(0, -i).Select ActiveCell.Interior.ColorIndex = 4 Next i End Sub[/CODE] Esta macro recorre las columnas de una fila hacia atrás (izquierda) rellenándo cada celda con el color indicado. Pero todas quedan del mismo color. Quisiera que cada celda la rellenara alternativamente con dos colores más, por ejemplo (6 y 44). Es decir: para i = 1, color =4 para i=2, color =6 para i = 3, color = 44 para i = 4, color [b]4 [/b](se repite el ciclo), El archivo está como quiero que quede. Saludos. Color.rar
-
0
Reacciones de usuarios
- 2 respuestas
- 825 visitas
-
-
Hola: Tengo una tabla a la que necesito estarle agregando nuevas filas al final de la misma con el propósito de, a su vez, ingresar nuevos registros desde un formulario. La inserción de cada nueva fila al final de la tabla deberá ser encima de la última fila, con el propósito de que no se pierdan las fórmulas y formatos definidos. No encuentro como hacerlo por medio de VBA. Gracias anticipadas.
-
0
Reacciones de usuarios
- 3 respuestas
- 825 visitas
-
-
Buenas tardes a todos, necesito una ayuda de ustedes, tengo un archivo el cual esta compuesto por varios sub-modulos, los cuales tienen 20 filas cada uno, necesito lo siguiente: 1. Una macro que me copie en otro archivo los datos de las Columnas C,D,G,H,I, y K de los rangos (53:77) y (82:106) 2. La condición es que no copie las filas en blanco, que solamente hasta donde se digitó información. Agradecería mucho la ayuda de ustedes. Planilla Diaria-Prueba.rar
-
0
Reacciones de usuarios
- 4 respuestas
- 825 visitas
-
-
Hola, como se pueden comparar dos macros y actuar según si son iguales o no ?
-
0
Reacciones de usuarios
- 3 respuestas
- 825 visitas
-
-
Acudo a vosotros otra vez porque me he quedado en blanco con documento. Os explico. Tengo 2 hojas en la 1a llamada "Indice" en la celda B1 tengo una lista con 3 años (2013/2014/2014) y en las celdas C2:N2 (una para cada mes) en blanco. Y en la otra hoja llamada "Datos", están los datos correspondientes a sus años (2013,2014,2015). Lo que me gustaría es que al poner el año el la celda B1 me salieran en la 1a pagina los datos correspondientes a la 2a hoja de cada año. Muchas gracias, Adjunto el xlsx. Dropbox - Document.xlsx
-
0
Reacciones de usuarios
- 6 respuestas
- 825 visitas
-
-
Hola como están. Por favor su colaboración. La macro en el botón insertar fila copia la fila 5 que está escondida y la pega en la primera celda disponible en A y adicional inserta una línea debajo de la fila pegada (de esta manera baja la información que hay en el archivo real. El problema es que la fila que se inserta trae el formato de la celdas de columna I y K, es decir, está conservando el color gris. Lo que quiero es que no tenga color gris en esas columnas (I y K) de la fila insertada. ELIMINAR FORMATO FILA.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 825 visitas
-
-
Buenas, un favor, tengo un problema con la ejecución de una macro donde quiero que un libro luego de rellenarlo se guarde con otro nombre y se cierre pero cuando ejecuto la macro no se ejecutan esos dos pasos Windows(Lname).Activate Range("D17:F51").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Worksheets("CARATULA").Activate ActiveWorkbook.SaveAs Filename:= KName & ".xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False Workbooks(KName).Close …
-
0
Reacciones de usuarios
- 1 respuesta
- 825 visitas
-
-
Hola Aprovecho para saludar y presentarme en este mi primer post. Llevo siguiéndoos mucho tiempo y quiero agradeceros toda la ayuda que me váis prestando y todo lo que he aprendido de vuestros conocimientos. Por primera vez, después de leer y leer no encuentro la solución a mi problema. ¿Me podríais ayudar con lo siguiente? Tengo en una hoja en la que quiero que se ejecute el siguiente código Private Sub Worksheet_Change(ByVal Target As Range) 'Elijo el rango de una columna para que siempre que se introduzca un valor a una celda vaya a la celda de la misma fila y de la columna A If Intersect([F2:F1000], Target) Then 'Pongo la instrucción que quiero se ejecute…
-
0
Reacciones de usuarios
- 4 respuestas
- 825 visitas
-
-
Buenas tardes, soy nueva aquí y necesito ayuda Necesito crear un programa en excel que haga lo siguiente: En un excel llamado "PRUEBA" tengo escrito lo siguiente en una columna: ensayo 1 ensayo 2 ensayo 3 ... (hasta x ensayos) Tengo que crear un programa que lea esa columna, por ejemplo, que lea "ensayo 1", busque el documento excel con ese mismo nombre, lo abra, haga el promedio de los datos que aparecen en columnas en la ultima fila, copie esa ultima fila (los promedios), y los pegue en la fila del documento excel llamado "PRUEBA" donde pone "ensayo 1" justo después de "ensayo 1". He hecho la parte de las medias por individual pero no se como hacer todo eso …
-
0
Reacciones de usuarios
- 1 respuesta
- 824 visitas
-
-
Hola sala, ya se dio solucion a este caso, lo podem,s cerrar, garcias,,, David copia base de datos.rar
-
0
Reacciones de usuarios
- 0 respuestas
- 824 visitas
-
-
buenas tardes, tengo la siguiente duda Estoy realizando un formulario y en el puse un combobox, el cual quiero que se llene con una lista de productos, estos productos están en la columna A de excel así que a toda la columna A en excel en el administrador de nombres la llame "Productos" que se refiere =Hoja1!$A$1:$A$250. Mi duda es como hago para que el Combobox me cargue esta lista de productos sin tener que hacer un while, sino unicamente referirme al rango "Productos". pense que seria asi pero no he tenido éxito, espero me puedan ayudar Private Sub Formulario_Activate() Productos.ListFillRange = "Productos" End Sub [/CODE]
-
0
Reacciones de usuarios
- 2 respuestas
- 824 visitas
-
-
Hola Gerson. Saludos hacia Honduras y para ti en especial Referente a tu turbo-filtro En el numérico (Consecutivo, cantidad y movimiento) hay que insertar TODO (número completo) pero, en movimiento no me filtra (no acepta) más de 4 caracteres (números) y la columna contiene 8. Pudría ir hasta 14 números el movimiento A prtir del 4º, al introducir el 5º me dice que; Se ha producido error 6 en tiempo de ejecución Desbordamiento Por ejemplo me acepta 9154 pero no 91547048 La opción Private Sub destinogp_Exit(ByVal Cancel As MSForms.ReturnBoolean) no me funciona (nada filtra,) no sé si al amigo si También si coloco 37500 filas (lineas) con datos, al tratar de abrir…
-
0
Reacciones de usuarios
- 0 respuestas
- 824 visitas
-
-
Hola a todos, estoy realizando un proyecto de base de datos, la cual funciona de la siguiente manera la informacion que tengo en la base la puedo filtrar de acuerdo a las caracteristicas que deseo ver en ese momento y al darle click en catalogo me aparecen todas las opciones que he filtrado con las imagenes de cada codigo, lo que quiero hacer ahora es pasar toda esa informacion del catalgo a una nueva hoja de excel (ficha) (como un reporte de todos los codigos que me han aparecido -despues de haber filtrado la informacion-incluyendo la imagen en el recuadro que aparece en la hoja "Ficha") la verdad no se como puedo hacerlo agradecerìa mucho su ayuda. Al ingresar al archi…
-
0
Reacciones de usuarios
- 0 respuestas
- 824 visitas
-
-
Hola buenas. Tengo una formula para contar coincidencias columna O, las coincidencias de J:M con B:G. J:M puede tener entre 150.000 a 300.000 filas y B:G entre 10.000 a 30.000 filas. La formula hasta 150.000 filas en J:M la desplazo hasta el final y trada unos 30 minutos en recalcular pero la macro se queda colgada. Mi intencion es encontrar una macro que sea mas rapida que la formula. Esta es la macro Sub BuscarCoincidencias() Application.ScreenUpdating = False Range(Range("N3"), Range("N3").End(xlDown)) = "" For x1 = 3 To Range("B3").End(xlDown).Row For x2 = 3 To Range("J3").End(xlDown).Row c = 0 For y = 10 To 12 Set…
-
0
Reacciones de usuarios
- 1 respuesta
- 824 visitas
-
-
Hola buenas tardes, En un archivo de Excel en la que tengo varias fórmulas o vínculos con otros 3 libros diferentes, deben ser abiertos al mismo tiempo, para que no se pierda el vínculo o se pueda actualizar. Con la función de woorbook open puedo abrir un archivo (nombrado en una celda), este libro se encuentra en la misma carpeta del libro actual. El problema es que necesito abrir varios archivos (3 0 4). Los archivos Los tengo listados en la columna C. Con la macro en el archivo del libro ejemplo, he podido hacer que abra los archivos que necesito. Pero me marca un error. en ella estoy utilizando For i = 2 To 4 para repetir el proce…
-
0
Reacciones de usuarios
- 3 respuestas
- 824 visitas
- 3 seguidores
-
-
Hola buenos días, me encontré el Turbo filtro que subio el estimado @Gerson Pineda en el foro. Me funciona de maravilla, pero quería ver la posibilidad de hacer un cambio, tengo las primeras 5 filas del archivo inmovilizadas y me gustaría que cuando se aplicara el filtro estas se sigan visualizando ya que están tienen datos que necesito para poder verificar bien los datos que filtro. Adjunto el archivo, muchas gracias de antemano. AT.xlsm
-
0
Reacciones de usuarios
- 1 respuesta
- 824 visitas
-
-
Señores, Buenas Noches , casi de madrugada aquí en Chile. Ciertamente hay varios ejemplos de como eliminar datos duplicados, mi tema razón de mi nueva solicitud de ayuda, es mas complejo. Aúnque manualmente se puede hacer .....requiere de tiempo. Espero con vuestra ayuda esto se pueda optimizar con una macro. Llevo años trabajando de la misma forma, todo es manual paso tras paso... Por ejemplo en la planilla que se adjunta hago lo siguiente. 1.- Selecciono la columna J desde J2:J85 para este caso.( esto puede varias según la cantidad de datos). 2.- Aplico Formato a las celdas que contienen: "Duplicar".......valores con..."Relleno rojo claro con texto oscuro". 3.…
-
0
Reacciones de usuarios
- 2 respuestas
- 824 visitas
-
-
Buenos días, tengo el siguiente problema, como podran observar en el ejemplo adjunto lo que quiero es colocar la peor calificación que corresponda a cada número de cliente, es decir en función del número de cliente que aparece en la columna B colocar la pero calificación que en este caso va de A a D siendo D la peor, por lo que para cada número de cliente que se repite debe sustituir por la peor calificacón que tenga, he intentando con formulas condicionales pero no he podido, quisiera ver si con una macro se puede llevar a cabo esta sustitución en forma mas rapida y eficiente. Agradezco su ayuda de antemano. PEOR CALIFICACION POR CLIENTE.xls
-
0
Reacciones de usuarios
- 0 respuestas
- 823 visitas
-
-
Hola a todos!!!! Espero puedan ayudarme a resolver este pequeño problema! Estoy creando una macro para que se cambien "dinamicamente" las etiquetas de datos de un grafico, el máximo de etiquetas que puede tener dicho gráfico son 8 . Y para lograrlo quiero insertar el siguiente codigo para que primero agregue las etiquetas de datos y después mediante la fucion If decida si la etiqueta de gráfico existe para asi asigarle el valor que se encuentra en una celda de la hoja. El codigo es algo asi: Private Sub CommandButton1_Click() ActiveSheet.ChartObjects("Gráfico 1").Activate With ActiveChart .FullSeriesCollection(1).Select .FullSeriesCollection(1).Appl…
-
0
Reacciones de usuarios
- 0 respuestas
- 823 visitas
-
-
hola necesitaría saber como hacer para enviar de un listbox a una hoja de excel y que cada vez que envié el dato no reemplace el anterior sino que agregue una linea gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 823 visitas
-
-
Hola a todos. Llevo tiempo atascado con una macro y no se cual es el problema para poder solucionarlo. Estoy intentando descargar datos de una web, ejecuto la macro y me da los datos de la web bien pero si vuelvo a ejecutar la macro, no me da datos o me da otra tabla de la web. Este proceso es aleatorio, puede darme los datos mal y despues bien, parcialmente los datos bien y mal, o los datos mal. Creo un array con unas URL para despues con un bucle for ir recorriendo todos los enlaces que tengo en el array. Lo que no entiendo porque unas veces realiza la consulta bien y otras no. Como no me deja subir un archivo en este mensaj…
-
0
Reacciones de usuarios
- 0 respuestas
- 823 visitas
-
-
Me explico: Tengo un archivo llamado DUPLICAR (el cual adjunto y que MacroAntonio de este foro me ayudo a perfeccionar) Este archivo tiene las hojas ALUMNO, EXPIRACION, TAREA1, TAREA2. Al ejecutarse la macro REPLICA esta toma el listado de alumnos y crea un archivo de excel con macros para cada uno de ellos: TAREAcARLOS.xlsm, TAREAANA.xlsm, TAREAJUAN.xlsm En el archivo DUPLICAR tengo un modulo llamado MACROSVARIAS que se pegan automaticamente en cada uno de los archivos TAREAcARLOS.xlsm, TAREAANA.xlsm, TAREAJUAN.xlsm en THISWORKBOOK, los cuales como comento he ido pegando poco a poco con la información en la web y con la ayuda de MacroAntonio de este foro. Lo que qui…
-
0
Reacciones de usuarios
- 0 respuestas
- 823 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.