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?
8685 temas en este foro
-
Encontre una amcro en el foro de newton raphson la trate de adaptar para una funcion que tengo pero no funciona me sale que es #valor y derive la funcion usando mathematica asiq eu al derivada no croe que este mal peor nsoe que pueda hacer ojala puedna ayudarme les adjunto el arhivo de la macro y de la funcion en word Gracias Newton.zip
-
Hola amigos, tengo la siguiente macro: Sub Tabla_de_Excel_a_Word() 'Copia el rango de Excel seleccionado en un nuevo documento Word Sheets("Reporte").Select Range("C8:T20,C89:T92").Select 'copiar rango selecionado Selection.Copy 'Crea nueva aplicación Word Dim swMSWord As Word.Application Set swMSWord = New Word.Application With swMSWord .Visible = True .Activate End With 'Abre nuevo documento Word swMSWord.Documents.Add 'Pegado con vínculo de las celdas Excel swMSWord.Selection.PasteSpecial link:=True 'Libera el objeto Word Set swMSWord = Nothing End Sub La cual copia mis tablas de Excel a un Word, pero tengo dos problemillas y necesito de …
-
0
Reacciones de usuarios
- 0 respuestas
- 4.3k visitas
-
-
Como dije en mi mensaje de presentación, no me gusta mucho preguntar, no por orgullo, sino para no molestar ni dar trabajo, si pregunto es porque después de buscar durante días y horas cada día, no he encontrado la solución. En este mensaje adjunto el archivo y ademas doy una breve explicación de lo que me gustaría hacer, porque la generación de grupos aleatorios de nombres la hace bien, lo que ocurres es que me salen repetidos, y me gustaría que no se repitieran combinaciones completas. En la señal roja de la parte de abajo de la imagen pudo introducir nombres y apellidos, y en la señal azul asignarle un numero que puede ser una nota de un examen, o un turno de…
-
0
Reacciones de usuarios
- 17 respuestas
- 4.3k visitas
- 3 seguidores
-
-
Buenas noches. Soy yo de nuevo. Estimados, en esta oportunidad quisiera por favor me orientaran sobre como incluir de manera automática la firma que grabé en outlook a los correos que me genera el archivo que anexo. El mismo lo utilizaré para enviar correos masivos. La ruta donde tengo la firma es: C:\Users\Administrador\AppData\Roaming\Microsoft\Firmas\Firma Jezreel.htm Y esta es la macro que ejecuta el envío de los correos '***Macro Para enviar correos Sub correo() 'Por col = Range("J5").Column For i = 6 To Range("D" & Rows.Count).End(xlUp).Row Set dam = CreateObject("outlook.application").createitem(0) dam.To = Range("D" & i) …
-
0
Reacciones de usuarios
- 0 respuestas
- 4.3k visitas
-
-
Hola a todos y gracias por anticipado por echarme una mano... Estoy trabajando con la API de JavaScript para Excel a través de Script Lab (esto no es muy importante) Estoy tratando de cambiar el ancho de una columna... Rango.format.columnWidth=100,81; Mi pregunta es, Ese 100,81 ¿a qué medida hace referencia? porque cuando lo veo al cambiar el ancho de la columna manualmente muestra 18,29 y en cm muestra 3,78 cm ¿Alguien sabría decirme en que unidades están esos 100,81? Debe ser una medida americana. Saludos Jose
-
0
Reacciones de usuarios
- 4 respuestas
- 4.3k visitas
-
-
Hola a todos, queria hacer una consulta, tengo este codigo: Public Sub Worksheet_Selection_Change(ByVal Target As Range) Dim nFilas As Long Dim nFila As Long Dim i As Long nFilas = Cells(Rows.Count, 4).End(xlUp).Row nFila = 1 For i = 11 To nFilas + 11 If Cells(i, 4) = "" Then Cells(i, 27) = "" If Cells(i, 4) <> "" Then Cells(i, 27) = nFila nFila = nFila + 1 End If Next End Sub con ese código numero las filas en el rango deseado, desde la celda 11 hacia abajo las que hayan.. el tema que yo aplico filtro y obvio la cantidad total se reduce de q se 20 aprox.. a 5 filas.. el tema que ese código numero perfecto pero no le im…
-
0
Reacciones de usuarios
- 6 respuestas
- 4.3k visitas
- 1 seguidor
-
-
Estimados, alguien me podría dar una mano con este tema? necesito poder contar celdas de colores, los cuales cambian en función del formato condicional, estuve buscando por la web pero ninguna de ls publicaciones me fue de utilidad. Gracias. Saludos.
-
0
Reacciones de usuarios
- 9 respuestas
- 4.3k visitas
-
-
Hola, quisiera una ayuda con esta macro: Sub copiarNuevo() Dim hj As Worksheet, x As Long, celda As Range x = 8 y = 0 For Each hj In ThisWorkbook.Worksheets If hj.Name <> "Index" And hj.Name <> "Plantilla" And hj.Name <> "Consolidado" Then If celda <> 0 Then y = y + 1 With hj For Each celda In .Range("v8:z48") If celda <> 0 Then Worksheets("Consolidado").Cells(y, x) = celda x = x + 1 End If Next End With End If Next End Sub Lo que deberia hacer es recorrer todo el libro (menos las hojas indicadas), copiar las celdas ocupadas en el rango v8:z8, y pegarlas en otra hoja, fila tras fila. El problema es que…
-
0
Reacciones de usuarios
- 3 respuestas
- 4.3k visitas
-
-
Buena tarde amigos: tendrá alguien por ahí algún macro para buscar e insertar imágenes pero al desplegar la ventana de búsqueda esté direccionada a una carpeta especifica?. saludos
-
0
Reacciones de usuarios
- 5 respuestas
- 4.3k visitas
-
-
Amigos, Estoy nuevamente por acá para que me ayuden con un código: Lo que estoy haciendo es enviar un mail de Outlook - en su versión 2010 -, mediante una Macro; ésta Macro envía un correo con un archivo adjunto más un rango de celdas específico. Hasta el momento todo bien, pero al momento de cambiar la propiedad Display por send es donde falla, ya que me envía el archivo adjunto pero no el rango de celdas. Les adjunto el código que estoy utilizando: Sub rangoCeldas() ' Don't forget to copy the function RangetoHTML in the module. ' Working in Office 2000-2010 Dim rng As Range Dim OutApp As Object Dim OutMail As Object Dim Adjunto As Variant …
-
0
Reacciones de usuarios
- 5 respuestas
- 4.3k visitas
-
-
Tengo una tabla dinámica y quiero que se actualice el filtro por el valor puesto en una celda. Ya busque codigos que hagan esto y si existen, el problema es que mi tabla viene de PowerPivot y estos codigos no funcionan Al hacer una macro el sistema tira el siguiente codigo: ActiveSheet.PivotTables("Detalle_Cuentas").PivotFields( _ "[Cuenta_Externa].[N_extendido].[N_extendido]").ClearAllFilters -(hasta aquí funciona bien)- ActiveSheet.PivotTables("Detalle_Cuentas").PivotFields( _ "[Cuenta_Externa].[N_extendido].[N_extendido]").CurrentPage = _ "[Cuenta_Externa].[N_extendido].&[(05-002) Mano de Obra Directa]" (Esta …
-
0
Reacciones de usuarios
- 0 respuestas
- 4.3k visitas
-
-
Hola: Quisiera saber si hay alguna manera de conectar excel con access remotamente, intente hacerlo con un macro que supuestamente conecta excel con MYSQL que debe encontrarse en servidor web, pero no logré hacer que me funcione, por lo que quisiera hacerlo entre excel y access y de forma mas "casera" ya que lo que necesito es actualizar precios cuando ando en la calle desde el servidor de la oficina. saludos
-
0
Reacciones de usuarios
- 3 respuestas
- 4.3k visitas
-
-
Buenas, es una cosa fácil pero se me esta resistiendo, con Application.hWnd saco la de la ventana activa, el excel, y con FindWindow("notepad", vbNullString), la de notepad, pero cuando intento otras que tengo activas como por ejemplo el word no me da nada... alguien me puede indicar como indicar en el findwindow / ex el titulo de la ventana, gracias
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Buenos días, Tengo una duda sobre el funcionamiento de una futura aplicación. Actualmente en uno de los departamentos vienen utilizando, para guardar el mismo tipo de datos, varios ficheros excel. Un fichero para cada zona o destino. Esos ficheros están conectado a uno "global" y mediante una macro genero una hoja con todos los datos de TODOS los ficheros, para luego hacer una dinámica, un par de gráficos, etc. Mi idea es migrar todo eso a un fichero access y utilizar excel con formularios para manejar esos datos y extraerlos cuando sea necesario. Pero no tengo claro cómo hacerlo. Supongo que deberé crear un excel para cada uno de los usuarios ¿verdad?, por aquello …
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Buenas tardes a todos, ¿Alguien sabría como invertir los valores de una columna? Tengo un rango que va desde A3 hasta A50 y quisiera encontrar una macro para invertir los valores y ubicarlos en el mismo rango, pero al revés..... es decir; el valor de A3 debe ser el que tiene A50, el de A4 debe ser el de A49 el de A5 debe ser el de A48 ....y así hasta llegar la final, que el de A50 sea el de A3 ¿alguna idea? Gracias por adelantado.....
-
0
Reacciones de usuarios
- 8 respuestas
- 4.3k visitas
-
-
Hola amigos: Tengo este código que convierte a texto el contenido numérico de la celda A2 en la celda A1, y todo funciona bien el problema es que deseo hacer lo mismo pero dentro del textbox1 ubicado en un formulario que esta en el ejemplo y no logro hacerlo hay alguna manera de hacerlo. adjunto ejemplo. saludos numeros a letras.rar
-
0
Reacciones de usuarios
- 1 respuesta
- 4.3k visitas
-
-
Buenos días gente, bueno es simplemente lo que dice el titulo, quisiera que en una determinada hoja (no en todo el libro) se resalte la fila activa con algún color, sin que modifique los formatos condicionales que pueda llegar a tener esa hoja No lo intenté hacer con formato condicional ya que es una tabla muy extensa y supongo que el rendimiento del libro bajaría en comparación si usaría VB Desde ya muchas gracias y saludos Buena Vida
-
0
Reacciones de usuarios
- 10 respuestas
- 4.3k visitas
-
-
Buenas, Estoy haciendo una macro que consiste en lo siguiente: Vaya a una carpeta, abra el primer excel, aplique un RefreshAll, lo guarde y cierre, y pase al siguiente. Estos exceles tienen conexiones de datos externas, que son las que quiero que me actualice, pero no lo hace. Pero si lo hago manualmente (abro excel, le doy en Datos a RefreshAll), sí me funciona. Este es el código que estoy aplicando: Sub AbrirArchivos() 'Paso1: Declarar las variables Dim Archivos As String 'Paso2: especificar una carpeta y el tipo de archivo que buscamos. 'En este caso la carpeta se lla "RFC2" y el tipo de dato es "xslx" Archivos = Dir("C:\Users\Desktop\2. RFC2…
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Que tal !!! La cuestión es que tengo una base de datos en excel y necesito que la buscar en la tabla un registro, me muestre los datos correspondientes en un formulario que ya creé. Pude programar un botón para limpiar los datos que pudieran estar impresos en los cuadros de texto, y otro botón para salir, lo que no he podido programar es el botón de consultas. Necesito un ejemplo para buscar el registro en base al nombre del empleado. En el archivo de excel tengo 2 hojas y en una de ellas tengo una plantilla que ya hace lo que deseo, pero quiero hacer eso mismo ahora con un formulario. Directorio.zip
-
0
Reacciones de usuarios
- 8 respuestas
- 4.3k visitas
-
-
Buenas tardes, a ver si alguien me puede ayudar, he estado buscando por el foro pero no encuentro lo que necesito. Tengo un archivo con celdas de color por formato condicional y necesito una formula o macro que me cuente los colores juntos y por separado, gracias a todos y un saludo CONTAR CELDAS COLOR.xlsx
-
0
Reacciones de usuarios
- 8 respuestas
- 4.3k visitas
- 2 seguidores
-
-
Hola amigos foreros, Necesito una macro que me saque los cumpleaños que tengo en un determinado tiempo. Me explico, tengo una hoja con una base de datos con los nombre, apellidos, fecha de cumpleaños...... y en otra hoja me gustaría tener un par de calendarios con las fechas que quiero que me filtren los cumpleaños, Ejemplo del 5-Mayo al 15-Mayo --> me cumplen años María Díaz 10-Mayo. No se si me explicado... si hay algún problema me lo decís. Si no se puede poner dos calendarios que tiene que ser uno y se va seleccionando la fecha no pasa nada. O si con calendario no funciona pues algo que me ponga la fecha. Soy novato en esto y no sé si será posible. Para cualqui…
-
0
Reacciones de usuarios
- 4 respuestas
- 4.3k visitas
-
-
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
- 4.3k visitas
-
-
Hola, a ver si alguien me puede ayudar, que llevo varios días intentando resolver un problema y no he sido capaz, y por más que he buscado en el foro no he conseguido hacerlo. Tengo dos libros de excel, en el primero (llamado 'datos') tengo una serie de datos con una macro que cada vez que la ejecuto me rellena en la Hoja1 de ese mismo libro 'datos' una serie de valores en la fila 2, de estos valores el de la celda A2 es la referencia. Ahora he creado otro libro (llamado 'almacen') en el que en la columna A tengo todos los números de referencia, y necesito realizar una macro que me copie los datos de la fila 2 de la hoja 'datos' cuando los valores de la columna A de…
-
0
Reacciones de usuarios
- 5 respuestas
- 4.3k visitas
-
-
Buenas y Felices Fiestas!!!! Busco una Macro que elimine Filas en base a un Texto “X”, elimine desde ese texto incluido 85 Filas, estarán ahora en la columna A. Saludos….
-
0
Reacciones de usuarios
- 33 respuestas
- 4.3k visitas
- 3 seguidores
-
-
Hola que tal, un saludo a todos. Mi consulta creo que es muy sencilla (cuando se sabe claro), y es que tengo una hoja donde importo datos de otro libro pero que no conozco el nombre, ya que es un reporte del banco y cada vez me lo da de distinta forma. La cuestión es que necesito saber cual es la última fila de ese libro con datos para poder copiarlas todas y pegarlas en el libro de destino, que es el que tiene la macro. Por razones de "afinamiento" del código no quiero seleccionarlo, sinó que, quiero consultar simplemente, porque me he dado cuenta que aunque se tenga el "Application.ScreenUpdating = False" da un pequeño pantallazo. La línea que he puesto me da …
-
0
Reacciones de usuarios
- 8 respuestas
- 4.3k 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.