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
-
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 buenos dias, ando buscando de su ayuda. Tengo el siguiente anexo donde en un userform puedo filtrar los articulo y el resultado aparece en un ListBox al dar click sobre cualquier articulo filtrado me carga datos en los Textbox, hasta ahi todo bien. El problema radica que el articulo seleccionado no coincide con lo cargado en los textbox, alguien me podrá echar la mano o decirme en que ando mal. Anexo archivo, gracias por su ayuda Buscar y Modificar.rar
-
0
Reacciones de usuarios
- 20 respuestas
- 4.3k visitas
- 1 seguidor
-
-
Buenos días, Es mi primera intervención en el foro, soy un usuario de excel bastante avanzado pero es ahora cuando estoy descubriendo las amplias posibilidades que ofrece VBA, y en esto me estáis ayudando un montón, así que gracias! Mi duda es: quiero hacer una macro que mediante un popup (userform) me permita desbloquear la hoja introduciendo la contraseña, y luego siga haciendo cosas con otros pupups que salen. Hasta aquí todo ok, el problema está cuando se mete la contraseña incorrecta, que se rompe la macro. Cómo podría hacer para que si se introduce una contraseña que no es correcta, entre en un loop solicitando que se introduzca la contraseña correcta, hasta que s…
-
0
Reacciones de usuarios
- 10 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
-
-
Hola. Tengo una base en la que por columnas introduzco diferentes datos. Necesito una macro que me cree filas en blanco para introducir nuevos registros, pero no me elimine el formato y las fórmulas, porque sin ellas el resto de la base no tiene sentido, y las personas que le darán uso no estarán atentas para arrastrar las fórmulas de las otras filas hacia las nuevas. Solo conseguí la macro que crea filas nuevas, pero me copia el valor de la fila superior, y si ordeno limpiar las celdas no consigo que me respete las fórmulas. A ver si alguien me puede ayudar, muchas gracias.
-
0
Reacciones de usuarios
- 4 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
-
-
Hola Estimados, pido Disculpas por el Titulo del tema, vi que ya estaba con anterioridad, pero bloqueado, lo que quiero saber es que si hay alguna manera de que al ejecutar la macro en la hoja protegida me aparezca en la cinta de opciones habilitados la fuente el tipo de letra combinar celdas entre otros, ya que al ejecutar la macro aparecen todas esas opciones bloqueadas. adjunto archivo e imagen foro.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 4.3k visitas
-
-
Buen dia, Necesito ayuda con una macro, la cual concatena unos números con un guion. Necesito que en el resultado final reemplace el guion por una coma. Trate de hacerlo grabando y usando buscar>reemplaza, funciona, pero al pegar el código en la macro solo lo hace con la primera celda, a las demás les quita el guion y fusiona los números Dentro del archivo hay un cuadro explicando mas fácil. Saludos!. Guion x coma.xlsm
-
0
Reacciones de usuarios
- 12 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
-
-
SOY MUY NUEVO EN EXCEL Y NO SE COMO HACER QUE ME FUNCIONE ESTE MACRO EN MAS CELDA APARTE DE H3 EN LA QUE FUNCIONA PERFECTAMENTE, COMO POR EJEMPLO DESDE H3 HAST H20 Option Explicit Dim valor As Long Dim cantidadVeces As Integer Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H$3" Then cantidadVeces = cantidadVeces + 1 If cantidadVeces > 1 Then Exit Sub End If valor = valor + Sheets("Entradas-salidas").Range("H3").Value Sheets("Entradas-salidas").Range("H3").Value = valor End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) valor = 0 cantidadVeces = 0 If Target.Address = "$H$3" Then valor = Sheets("Entrad…
-
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
-
-
Hola. Tengo una macro que me rellena un excel, que está en extension .csv. Si pincho en la X de cerrar , me pregunta "Algunas caracteristicas de su libro pueden perderse si lo guarda como CSV (delimitado por comas). ¿Desea seguir utilizando este formato?" Yo le digo que Si y me lo guarda delimitado por ";" (punto y coma), que es como yo necesito El problema es que si en mi macro incluyo ActiveWorkbook.Save, o ActiveWindow.Close, no me hace dicha pregunta y lo guarda delimitado por "," (coma), lo cual no me sirve ¿Alguien sabe como hacer para que cerrandolo con la macro, lo guarde delimitado por ";" (punto y coma)? ¡Gracias anticipadas!
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Hola! Mi problema es el siguiente: Necesito restar un X% que está en un textbox a 100% y eso colocarlo en una celda. Mi textbox se llama Prop. El contenido de este textbox está en formato porcentaje. Los contenidos en las celdas los coloco de la siguiente manera: Hoja05.Cells(x, X) = ......................... Lo que yo hago pero me da error es lo siguiente: Hoja05.Cells(x, X) = 100 - Prop.Value Por supuesto que, ademas necesito que una vez hecha la resta, el resultado se coloque en la celda con formato porcentaje. Muchas gracias.
-
0
Reacciones de usuarios
- 7 respuestas
- 4.3k visitas
-
-
Buenos días chicos , He revisado que mi consulta no estuviera resuelta y no la he encontrado.He visto algunas parecidas pero lo que necesito concretamente. 1-OBJETIVO Tengo un archivo excel donde llevo el control economico de proyectos de inevrsión y quiero que desde el excel me baje los archivos adjuntos de los emails seleccionados en el outlook y me los guarde en la carpeta OFERTAS.Estos archivos son ofertas relacionadas con el proyecto de inversión y quiero ahorrar tiempo en la acción de bajar estos archivos adjuntos. Lo que me interesa es que me baje los archivos del email seleccionado o emails que yo seleccione , y no de los emails marcados como …
-
0
Reacciones de usuarios
- 10 respuestas
- 4.3k visitas
-
-
Hola a todos, Tengo el clásico formulario de Log In con una dirección de correo electrónico y una contraseña para acceder a la aplicación ofimática. Sin embargo, me gustaría conseguir lo siguiente: Cuando el usuario haga click en el icono del ojo , entones que se le muestre / oculte la contraseña que haya introducido. Pues bien, eso (más o menos) lo he conseguido con el siguiente código: Private Sub cbContraseña_Click() If tbContraseña.PasswordChar = "*" Then tbContraseña.PasswordChar = "" Else tbContraseña.PasswordChar = "*" End If End Sub Sin embargo, me gustaría modificar al mismo tiempo el icono del ojo en funci…
-
0
Reacciones de usuarios
- 6 respuestas
- 4.3k visitas
- 1 seguidor
-
-
Estimados, Estoy intentando desarrollar un programa en EXCEL que envie un correo electronico cuando una celda "lea" que se ha conectado algo a un puerto USB. En realidad el proposito es simple... quiero que se envie un correo cuando una celda de EXCEL detecte que se conecto algo via USB. no tengo ni idea de como hacer un macro que coloque un valor a una celda cuando se detecte que se ha conectado algo a un puerto USB. Quedo en espera de su ayuda. Saludos y gracias!
-
Buenos días, Necesito ayuda para evitar borrar una formula en la ficha que tengo. En las celdas "I6:K6" hay una formula. Al ejecutar la macro BUSCAR, quiero que me devuelva el dato grabado en la hoja BD, pero NO quiero que me bore la formula en cuanto me trae el dato. La formula quiero que se mantenga y se aplique solo para los casos "PRESUPUESTO / CONFIRMACIÓN". La parte de la macro "BUSCAR" que es '[I6] = .Cells(encontrado.Row, "E") 'Fecha de confirmación / cancelación para estas celdas esta desactivada. Adjunto el documento a donde he dejado el comentario sobre problema que tengo. Saludos, EVITAR BORAR FORMULA 15.12.2019.xlsm
-
0
Reacciones de usuarios
- 7 respuestas
- 4.3k visitas
- 1 seguidor
-
-
Hola amigos primeramente gracias por aceptarme en este foro, soy nuevo tengo un problema con una planilla de sueldos en una hoja de calculo pero quiero automatizarla y crear un comprobante de pago de cada uno de manera que al ingresar un dato me vaya creando cada comprobante para cada uno... gracias y espero me ayuden Junio 2013.xls
-
0
Reacciones de usuarios
- 4 respuestas
- 4.3k visitas
-
-
Hola comunidad de excel! Les vengo con un reto interesante. Estoy tratando de hacer un excel el cual rellene los mismos datos en 3 planillas diferentes de word, esto supe como hacerlo con una macro que usa las funciones buscar y reemplazar de excel. Pero ademas de eso quiero que guarde las planillas de word bajo un nombre que contiene un codigo que tambien es parte de los datos que ingreso en la hoja de excel. La verdad no tengo ni idea de como hacer eso. Para que entiendan bien a que me refiero les pondre un ejemplo: Los datos a ingresar son: Nombre Telefono Email Codigo de compra Quiero que una vez todos los datos hayan sido sustituidos en la planilla …
-
0
Reacciones de usuarios
- 9 respuestas
- 4.3k visitas
-
-
Hola a todos, He buscado importar .log y he visto cosas interesantes, pero necesito que sea en tiempo real me explico. Yo tengo un fichero (hola.txt ubicado en el escritorio, el nombre y ubicación lo puedo cambiar como a donde quiera). Al cual desde un GPS le llegan en tiempo real cada 0,2 sg una línea con información (en el fichero adjunto se ve la información). Y lo que quiero es que excel "coja" esa información y me pase esa linea (que esta separada por comas) a un celda de excel, el primer numero hasta la coma a A1, despues de la primera coma hasta la segunda a A2 y así hasta el final de la línea. Importante en tiempo real es decir cuando grabe en hola automaticame…
-
Necesito cargar imágenes png para formar rostros al encimar las imágenes en controles de tipo imagen en un formulario. Alguien me podría ayudar.
-
0
Reacciones de usuarios
- 1 respuesta
- 4.3k visitas
-
-
Que tal compañeros buen dia, Me gustaria saber si me pudieran ayudar con esta consulta, ya probe el query en SQL Server y funciona de manera correcta ejecutandolo desde ahi, pero cuando intento hacerlo desde vba no hace nada, osea pareciera que el codigo se ejecuto correctamente pero en realidad no hace nada, esto si quito las lineas de: adoRs.Close adoCn.Close adoCn.ConnectionString = "" Pero si dejo esas lineas me sale el siguiente error: "Operation is not allowed when the object is closed" Si alguien me pudiera decir como solucionar este problema, lo he intentado de diferentes formas y de diferentes formas de hacer la conexion y algu…
-
0
Reacciones de usuarios
- 1 respuesta
- 4.3k visitas
-
-
Saludos, intento simplemente crear un macro para copiar y pegar celdas de dos hojas diferentes desde la ultima celda vacia.. "es mi primer macro" Sub nuevos() Dim ultimafila As Long ultimafila = Sheets("Hoja2").Range("B20000").End(xlUp).Row ultimafila = ultimafila + 1 Sheets("FORMATO").Range("K13").Copy Sheets("Hoja2").Cells(ultimafila, 2).Select en esta linea presenta el error Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("FORMATO").Range("K15").Copy Sheets("Hoja2").Cells(ultimafila, 4).Select Selection.PasteSpecial Paste:=xlPa…
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Hola Chicos, Nuevamente solicitando su gran ayuda...! Tengo una macro y quisiera que me ayuden en perfeccionarla. Antes, recomiendo ejecutar la macro para ver el funcionamiento y sobretodo tomar en cuenta el desplazamiento de las celdas. Realizada la prueba de la macro, (ingreso del cliente y colocación de la hora de inicio) necesito que la macro ejecute el desplazamiento de la celda hacia la fila de abajo de la columna C (Orden) para colocar en forma manual el numero de Orden y luego usar la tecla direccional para mover hacia la derecha y seguir usando la macro. Los otros datos son ingresados con un scaner de codigo de barras y en forma manual. Mil gracias por sus p…
-
0
Reacciones de usuarios
- 2 respuestas
- 4.3k visitas
-
-
Hola gente soy nuevo y estoy tratando de adaptar un programa vba a mi necesidad pero al momento de ejecutarlo me da el erro 3709 Option Explicit Public CN As ADODB.Connection Dim Cod_Prod, Nombre, Existencia Dim Fila, Final As Integer Function Connect(Server As String, User As String, Pass As String, Database As String) As Boolean Set CN = New ADODB.Connection On Error Resume Next With CN .ConnectionString = "Provider=SQLOLEDB.1;" & _ "Password=" & Pass & ";" & _ "Persist Security Info=True;" & _ "User…
-
0
Reacciones de usuarios
- 5 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.