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?
8682 temas en este foro
-
Hola, buenos días a todos; -Soy nuevo en este foro, disculpen si me equivoco en algo. -He subido una macro la cual tiene un formulario con una serie de botones de opción. A mi la que mas me interesa es la que pone "sizable". Si activo esta opción y tiro de un lateral de la ventana pues el formulario anchea o encoge según mueva el ratón. Esta opción me gustaría implementarla al segundo formulario que pone "frm_Ajustable". Este formulario está vacio no tiene ninguna macro para no entorpecer el trabajo. Si tienen alguna duda no duden en comunicarmelo. Lo dicho buenos días y semana a todos. Redimensionar.xls
-
0
Reacciones de usuarios
- 16 respuestas
- 4.3k visitas
- 1 seguidor
-
-
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
-
-
Buenas tardes compañero. He encontrado un ejemplo de formulario el cual me gustaría adaptar al mío. Mi pregunta es la siguiente. Cuando generas un registro aleatoriamente empieza a generar desde el número 500, 501, 502...etc ¿En vez de que empiece a generar por números podría empezar a generar letras y números? Me explico, por ejemplo: HT-001, HT-002, HT-003.... Muchas gracias siempre por vuestras ayudas y vuestras ideas. Si alguien pudiese ayudarme se lo agradecería, SALUDOS CONSECUTIVO PERSONALIZADO.xlsm
-
0
Reacciones de usuarios
- 8 respuestas
- 4.3k visitas
- 1 seguidor
-
-
Buenas tardes. Queria saber si habra alguna forma de indicarle al userform que se ubique en una posicion especifica. Voy a tratar de ser mas explicito, el userform en este momento se ubica en el centro de la pantalla, mas yo quiero que se ubique en la misma posicion centrada, pero unas lineas mas abajo. Es decir, debajo de la celda 7, pero centrado. Dejo una imagen que vale mas que mil palabras. Agradecido de antemano por vuesta ayuda
-
0
Reacciones de usuarios
- 8 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.2k 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.2k visitas
-
-
Estimados, muy buen dia. Les comento que estoy trabajando a una macro, la cual consiste en buscar datos de otro libro de excel, mediante el comando ActiveWorkbook.Path. Necesito que busque 5 archivos distintos, los cuales están nombrados con números del 1 al 5. Para hacer esto, copie 5 veces el código ActiveWorkbook. El problema es que si un día solo tengo 3 archivos, la macro arroja un error al no encontrar el cuarto archivo. Probe utilizando el comando On Error GoTo "primero" , y al final primero: Funcionó con el primer codigo, pero el segundo utilice On Error GoTo "segundo, y no lo considera. Sub TEST() ' ' TEST Macro Dim wbDestino As Workboo…
-
0
Reacciones de usuarios
- 28 respuestas
- 4.2k visitas
- 1 seguidor
-
-
Buenos días Foristas. Una vez más por acá. Quizás más rápido de lo que yo hubiera querido, pero sigo teniendo problemas con los cálculos en VBA. Es algo que no acabo de aprender y necesito aprenderlo. Acá en mi país cuando un trabajador se enferma y el Médico le da Reposo, emite un Certificado Médico, donde entre otros datos consigna los días a Descansar y la fecha Inicial cuando comienza ese Reposo. Imagino que en todos lados sea parecido, quizás difiera en el cálculo. Yo quise automatizarle esto a mi esposa para que hiciera los cálculos de manera automática con sólo introducir los datos imprescindibles. Primero: Declara el Salario devengado por cada uno d…
-
0
Reacciones de usuarios
- 24 respuestas
- 4.2k visitas
- 4 seguidores
-
-
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.2k 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.2k visitas
-
-
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.2k 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.2k 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.2k 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.2k 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.2k 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.2k 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.2k 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.2k 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.2k 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.2k visitas
-
-
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.2k 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.2k visitas
-
-
Estimadísimos amigos, este seria mi primer post, luego de meses de sacar soluciones, hoy me veo obligado a molestarlos...les cuento, estoy confeccionando un sistemita de controlde facturas y cotizaciones para el negocio de un amigo, pero al ejecutar una macro, en ocasiones me arroja el error de comando de seleccion multiple, el problema es que incluso al seleccionar solo 1 celda copiada en libro2 y pegarla en libro1 me arroja dicho error...no logro entender el por que de esto...les agradeceria si me pudiesen ayudar con esto. Aprovecho de subir los archivos por si los quieren ver, el problema esta en la Hoja Facturas del libro Formulario en el Boton Ver pagos Formulario…
-
0
Reacciones de usuarios
- 1 respuesta
- 4.2k visitas
-
-
Tengo una celda D5 cuya formula es =C1. En la Celda C1 introduzco el texto y quiero que en D5 aparezca lo mismo pero con el texto estirado, o sea que se ajuste al tamaño de la celda, ya sea en ancho como en alto y no haya margenes. El objetivo de esto es que en C2 la fuente sea la de Codigo de Barras, pero quiero que siempre los codigos tengan el mismo tamaño. Adjunto archivo, el cual tiene la fuente especifica de codigo de barras, pero creo que lograndolo con cualquier fuente es lo mismo. Aclaro que esta forma de hacerlo es la que se me ocurrió, si existe otra forma dentro de excel para hacerlo, sientanse libres de modificar todo. Gracias por la ayuda.- EJEMPLO.xl…
-
0
Reacciones de usuarios
- 3 respuestas
- 4.2k visitas
-
-
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!
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.