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
-
Muy buenas, en una macro que estoy desarrollando descargo un fichero excel a través de una aplicación java y tras haber pulsado el botón abrir en la pantalla de dialogo de descarga de archivo llego a una instrucción en la cual tiene que seleccionar un rango de celdas de este nuevo archivo abierto . Ocurre que la seleccion la hace sobre el archivo excel que ya estaba abierto antes, no sobre el nuevo. Para resolverlo intente utilziar la funcion application.wait y no me funciono (parece que esta funcion para la ejecución de excel y no llega a cargar mi archivo). Tampoco me funcionó con la funcion Sleep La opcion de activar el nuevo libro sería la ideal, pero ocurre q…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.7k visitas
-
-
Hola amigos: Acudo a ustedes para que puedan ayudarme con lo siguiente: tengo 2 macros 1 que sube fotos a una base de datos MYSQL y otra para bajar las fotos, y funcionan muy bien pero necesito su ayuda para modificarlos de tal manera que: en el macro para subir las fotos en lugar de incluir dentro del macro la ruta y el nombre de la fotografia a subir y tener que hacerlo uno por uno, lo pueda tomar de una hoja denominada FOTOS a partir de la fila A2 desde donde se encuentra el ID y la ruta y el nombre del archivo desde donde pueda ubicar dichas fotos y por medio de un bucle pueda recorrer todas las filas llenas y poder cargar todas las fotografias. Por otro lado el …
-
0
Reacciones de usuarios
- 0 respuestas
- 895 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
- 708 visitas
-
-
buenas necesito una macro que me convierta numeros a letras tanto en español como en ingles.
-
Ya realice un codigo en donde ya manda el correo y manda un rango de celdas pero necesito que ese mismo archivo de donde saco el rango de celdas se adjunte en el correo. Espero me puedan ayudar ya que llevo casi 2 dias intentandolo. rivate Sub Si_Click() Dim NSession As Object Dim NDatabase As Object Dim NUIWorkSpace As Object Dim NDoc As Object Dim NUIdoc As Object Dim quienes(0) As Variant Set NSession = CreateObject("Notes.NotesSession") Set NUIWorkSpace = CreateObject("Notes.NotesUIWorkspace") Set NDatabase = NSession.GetDatabase("", "") If Not NDatabase.IsOpen Then NDatabase.OPENMAIL End If …
-
0
Reacciones de usuarios
- 1 respuesta
- 942 visitas
-
-
Buen dia para todos o les traigo un problemilla que tengo con un programa en excel que me imprime facturas pero cuando estoy en el programa y le doy nueva factura no me genera un numero consecutivo y en verdad lo necesito ya que cada factura necesita su consecutivo pero no doy como crear una macro que me genere un numero consecutivo ya que es dentro del mismo formulario no doy estoy desesperado :hororr: el documento no es mio los descargue por la red y no SOY UN EXPERTO EN MACROS PERO SI CONOZCO TODAS LA APLICACIONES QUE TIENE por eso me cuesta mucho entender la programación; son cuatro hojas productos, clientes, factura y impresión en la hoja impresión me vota los datos…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.6k visitas
-
-
Buenas. Necesito saber como puedo mover de una página a otra unos datos. Tengo una encuesta y esa encuesta cada vez que se realiza se va acumulando ahí en la pagina donde se recogen los resultados pero ami me gustaría tener una página nueva donde tener el nombre de cada uno y que a partir de ahí se vaya actualizando solo. Ej: Pablo me responde hoy que tiene 8€ pero mañana vuelve a hacer el cuestionario y pone que tiene 9€. Yo en vez de ver los dos y mirar en todos a ver si lo han hecho 2 veces o algo quiero en otra hoja que me ponga "Pablo" y ahí se vaya rellenando solo, cada vez que conteste se vaya o último que ha contestado a esa página. Espero haberme explicado bie…
-
0
Reacciones de usuarios
- 3 respuestas
- 758 visitas
-
-
Hola buenos días tengo el siguiente problema tengo dos archivos uno con información y el otro vació lo que intento hacer es copiar de un archivo al otro pero mi complicación es que el encabezado o el orden varían el uno del otro pongo el siguiente ejemplo en el archivo 1 tengo la siguiente estructura. Archivo 1 Código usuario Nombre Apellido Ocupación Ciudad Teléfono 01 Carlos ramírez medico Moscú 012234566 02 Andrea Jimenez ingeniero …
-
0
Reacciones de usuarios
- 2 respuestas
- 820 visitas
-
-
Necesito ayuda con este archivo: tengo esta macro para poder agrupar las filas de manera rápida pero no se como ponerla a funcionar cuando solo haya una fila para agrupar, agradezco a quien me pueda colaborar depurando el código para que me quede funcionando como lo necesito, gracias (adjunto el archivo) y este es el código que estoy utilizando: Selection.End(xlDown).Select Range(Selection, Selection.End(xlDown)).Select Selection.Rows.Group Selection.End(xlDown).Select Selection.Offset(1, 0).Select Agrupar.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 6.3k visitas
-
-
Buenos dias tengo la sigueinte macro que me pone ingreso y no ingreso en la celda G de mi archivo lo que necesito es que solo se ejecute cuando enecuentre campos en la celda si no encuentra datos pare. Sub VALIDA_CAMPO_ULTIMO_ACCESO() Dim UltiFila, i As Integer UltiFila = WorksheetFunction.CountA(Range("A12:H30000")) For i = 12 To UltiFila If Cells(i, "G") <> "Nunca" Then Cells(i, "G") = "Ingreso" Else Cells(i, "G") = "No ingreso" End If If Cells(i, "H") = "-" Then Cells(i, "G") = "No Ingreso" End If Next End Sub Gracias por su ayuda
-
0
Reacciones de usuarios
- 3 respuestas
- 815 visitas
-
-
Hola. Necesito gran ayuda. Cópmo hacer una macro que se accione con doble click en una celda generando un envío de correo de outlook, con el campo para, asunto, y texto ya diligenciados, y con un pdf temporal adjunto que desaparece cuando se envía, y que tiene como rango fijo los rótulos de columna y un rango variable (que es el que voy a cambiar dependiendo de a quien se envia el correo) He visto macros que hacen esto, mas no sé como juntarlas en una sola macro. Agradezco cualquier acercamiento a la función. Gracias.
-
0
Reacciones de usuarios
- 8 respuestas
- 1.4k visitas
-
-
Hola, estoy queriendo poner en un cuadro donde estan las semanas en cada columna, utilize el formato condicional la opcion de indicadores de fechas, pero este al parecer promedia y segun eso pone el indicador. yo yo busco es que una se comparen las columnas es decir en la semana 1 tiene 2.5 y la semana 2 tiene 5 la fecha debe indicar verde y si en la semana 3 tiene 4.2 la fecha debe indicar hacia abajo. osea debe comprarse con la columna anterior, espero poder contar con su apoyo. muchas gracias. Celest3 Incador por columnas.rar
-
0
Reacciones de usuarios
- 11 respuestas
- 1.4k visitas
-
-
Buenos días a todos: Me ha surgido un problema con una conexión OLEDB y la verdad no sé a que se debe. Es una pequeña aplicación en Excel que utilizan varias personas. Tengo una tabla que debo actualizar con un documento Excel, el formato del documento siempre es el mismo pero la ruta cambia. Por lo que el código utiliza un getopenfilename para obtener la ruta del documento. Funciona sin problemas. El código crea la conexión la refresca y luego la elimina, también funciona sin problemas. Sin embargo a veces, a pesar de que el orden de los campos es el mismo en el rango de origen y en la tabla de destino, el orden de los campos se altera en el destino. Digamos que an…
-
0
Reacciones de usuarios
- 0 respuestas
- 615 visitas
-
-
Amigos, buenos dias la verdad me dejaron este programa para realizar en excel y no tengo mucha nocion. tengo mas o menos un prototipo en java. si me pudieran dar algunas link o algunos metodo de programacion para poder realizar este trabajo, se los agradeceria.
-
0
Reacciones de usuarios
- 2 respuestas
- 1.2k visitas
-
-
hola tengo un formulario en excel vba que se completa con datos de una tabla que esta en un servidor sql. en el formulario tengo dos combobox los cuales se deberian completar con datos de una tabla del servidor. necesito que al llenar el primer combobox el segundo se active y se complete con datos de otras de las columnas de las tablas, y a su vez este haga que se completen una serie de textbox del mismo formulario . no se como hacerlo. Asi hago la conexion al servidor desde el combobox a una secuencia en el modulo Private Sub ComboBox1_Change() Dim SQL As String Dim Connected As Boolean Dim Rs As ADODB.Recordset SQL = "select …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.8k visitas
-
-
Buenas, Tengo una macro, la cual me envía los correos y su adjunto, pero a la hora de adjuntar el archivo, tengo que ir uno por uno. Hay un botón que me lleva a la carpeta y selecciono el pdf, luego en la casilla de alado se escribe la ruta del archivo. Como podría hacer para traerme cada documento a la persona que corresponde con macro? Copio la macro '***Macro Para enviar correos Sub correo() 'Por.Dante Amor col = Range("H1").Column For i = 2 To Range("B" & Rows.Count).End(xlUp).Row Set dam = CreateObject("outlook.application").createitem(0) dam.To = Range("B" & i) 'Destinatarios dam.CC = Range("C" & i) 'Co…
-
0
Reacciones de usuarios
- 0 respuestas
- 3.5k visitas
-
-
buenas como estan, quisiera saber si alguien me puede ayudar a modificar esta macro que cuenta los registros únicos totales , pero lo que necesito ahora que solo cuente los registros únicos visibles ya que tengo que usar filtros. Desde ya muchas gracias Function contar_unicos(rngSeleccion As Range) Dim collUnicos As New Collection Dim rngCell As Range On Error Resume Next For Each rngCell In rngSeleccion collUnicos.Add rngCell, CStr(rngCell) Next rngCell On Error GoTo 0 contar_unicos = collUnicos.Count End Function
-
0
Reacciones de usuarios
- 3 respuestas
- 6.7k visitas
- 1 seguidor
-
-
Hola, me podéis ayudar con una macro para que muestre el numero de semana de una fecha, lo que he encontrado ha sido para sacar el número de semana en una hoja de Excel, para hacerlo desde una macro, el resultado que me está dando no es el correcto. Lo estoy aplicando a un gráfico, pero cuando pongo la primera semana (el resultado no es el correcto), no saca la segunda semana. Os dejo el archivo de ejemplo. Gracias. Semana numero.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 2.6k visitas
- 1 seguidor
-
-
Buenas tardes, quisiera hacer una macro que con un checkbox seleccione varias imagenes y esta me las pegue en otra hoja de excel en un lugar determinado, mi duda es que como ese paso esos datos seleccionados del checkbox a la otra hoja de excel
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
Cómo hacer que si una celda esta vacía que se visualize un texto pero sn macros. Gracias
-
0
Reacciones de usuarios
- 15 respuestas
- 5.3k visitas
-
-
Qué tal, estoy teniendo problemas intentando eliminar la fila completa si no encuentra el valor en el vlookup, intenté filtrando y eliminando después del vlookup, en la condición del vlookup intenté la función .entireRow.Delete y aunque no me marca error, nunca termina de ejecutar la macro completa. ¿ Cómo puedo eliminar la fila completa del valor que no encuentre en el VLOOKUP ? 'VLOOKUP Dim Celda As Range, z As Long Application.ScreenUpdating = False Range("L:L").Clear For z = 2 To Range("B" & Rows.Count).End(xlUp).Row Set Celda = Sheets("Copia").Range("A:A").Find(Range("B" & z), , , xlWhole) If Not Celda Is Nothing Then …
-
0
Reacciones de usuarios
- 4 respuestas
- 1.4k visitas
-
-
Buenas tardes recurro nuevamente a su apoyo, tengo una lista de asistentes por fecha (Hoja ASISTENCIA) lo que la macro hace, es Eliminar varios registros a la vez, hasta allí todo bien El problema esta en que los asistentes se repiten sus datos (nombre, código, etc), lo que cambia es la fecha de asistencia, entonces al Eliminar, me elimina los registros que encuentra primero Lo que deseo es que me elimine los registros seleccionados pero diferenciando la fecha de asistencia. asi mismo que con el boton modificar me permita hacer modificaciones a varios registros a la vez en el campo Fecha Asistencia Muchas Gracias por sus respuestas. …
-
0
Reacciones de usuarios
- 6 respuestas
- 1.3k visitas
-
-
Hola a todos, Me gustaría que al pulsar una tecla o un atajo de teclado, se le aparezca un mensaje en un MsgBox al usuario de la aplicación ofimática. No sé muy bien cómo plantear el problema. Se me ocurre lo siguiente, pero no funciona: Sub MostrarMensaje() If Application.OnKey Key:="{c}" Then MsgBox "Hola mundo" End Sub Alguien tiene una idea mejor? Gracias.
-
0
Reacciones de usuarios
- 3 respuestas
- 1.4k visitas
-
-
Muy buenas. Y antes de nada, felices fiestas a todos. La duda que tengo es la siguiente. Ya se como abrir libros con VBA, pero lo que me preguntaba es si se puede hacer que sea el usuario el que elija que libro abrir. O sea, crear un botón, que al pulsarlo abra una ventana que nos permita buscar y elegir el archivo. No se si se puede hacer algo así o es mucho lio. Cualquier aclaración al respecto lo agradezco. Un saludo!
-
0
Reacciones de usuarios
- 2 respuestas
- 1.3k visitas
-
-
Hola, estoy iniciandome en el tema de vba y tal, asi que intentaré explicarme lo mejor posible Tengo un boton de comando que me abre un "userform", dentro de ese "userform" hay 2 combobox y varios "label". En el "combobox1" se me abre un listado desplegable donde me aparecen los valores "azul, verde,amarillo,rojo... etc" y el "combobox2" abre un listado con los valores que van del 1 al 100, y ahora viene el problema... yo quiero que dependiendo del valor del "combobox1", me muestre SOLO parte de ese listado de valores del 1 al 100. Es decir, al seleccionar en el "combobox1" el valor "azul" quiero que SOLO me muestre los valores del 21 al 30, si selec…
-
0
Reacciones de usuarios
- 9 respuestas
- 881 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.