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?
8683 temas en este foro
-
Buenas tardes a todos, espero se encuentren bien de salud en estos tiempos de pandemia. He estado aprendiendo con el paso del tiempo como usar la programación VBA, uno de los temas que quiero buscar una solución en este momento es el de Automatización de Excel haciendo consultas, ingresar información, descargar documentos, etc. En un inicio usaba InternetExplorer, pero hay ciertas limitantes, además que es una forma que ya se está quedando atrás por algunas limitantes que tiene este método. Luego me pasé a usar Selenium que cubre mejor las acciones que buscaba, sin embargo, Ahora estoy en busca de una mejor opción para remplazar Selenium ya que si lle…
-
0
Reacciones de usuarios
- 1 respuesta
- 1k visitas
-
-
Requiero que en la celda C4 de la Hoja "Datos" se copie el resultado de concatenar el dato de la celda A4 con el de la celda B4 A su vez, que el dato de la celda C4 de la Hoja "Datos" se copie como valor en la primera celda vacía que se encuentre en el rango que inicia a partir de la celda A4 de la Hoja "Facturas" cuando pulse un botón que ejecute la macro. Y, por último, que al copiar el dato de la celda C4 de la Hoja "Datos" en la Hoja "Facturas" se valide que el dato no se duplique o que ya se encuentra registrado. Ahora, si hay la posibilidad de omitir la concatenación de datos de las celdas A4 y B4 en la celda C4 de la Hoja "Datos" y realizarla directamente en la c…
-
0
Reacciones de usuarios
- 8 respuestas
- 1k visitas
- 1 seguidor
-
-
Hola! cómo estáis? Me está sucediendo algo que no comprendo: Cuando en una macro se ejecuta la siguiente línea: Hoja2.Range("b7").Formula = "=iferror(index(Tabla1[nombre],match(1,((Tabla1[F. Entrada]<=$G$1)*(Tabla1[F. Salida]>=$G$1)*(Tabla1[Nº hab]=A5)),)),"""")" Hoja2.Range("b7").Formula = "=iferror(index(Tabla1[nombre],match(1,((Tabla1[F. Entrada]<=$G$1)*(Tabla1[F. Salida]>=$G$1)*(Tabla1[Nº hab]=A5)),)),"""")" en la celda en cuestión aparece esta fórmula: =SI.ERROR(INDICE(Tabla1[nombre];COINCIDIR(1;((Tabla1[@[F. Entrada]]<=$G$1)*(Tabla1[@[F. Salida]]>=$G$1)*(Tabla1[@[Nº hab]]=A5));));"") Es prácticamente igual que la que aparece e…
-
0
Reacciones de usuarios
- 1 respuesta
- 584 visitas
-
-
Buenas tardes!!! Escribiendo para pedir de su ayuda, tengo un formulario que tiene un combobox que tiene los nombre de lista de departamentos al seleccionar uno me muestra en un listbox lo que contiene los articulos de ese departamento, pero si yo selecciono otro departamento del combobox, me pone la lista del nuevo y me borra la anterior y yo quiero ver todos las lista que seleccione anexo ejemplo LISTA 2021.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 734 visitas
- 1 seguidor
-
-
Hola. Tengo un formulario con la propiedad ShowModal = false. Esta propiedad me permite hacer click en cualquier celda pero necesito también poder desplazarme con las teclas arriba y abajo dentro de la hoja. Muchas gracias
-
0
Reacciones de usuarios
- 1 respuesta
- 1.4k visitas
-
-
Tengo una tabla con varias columnas, las dos columnas que me interesan son FacturaIngr y Trimestre. Consulto con el registro de la FacturaIngr y los datos me los pasa a un formulario, hasta aquí todo correcto. El problema es que no se como hacerlo para que encuentre esa fila que quiero que busque por FacturaIngr y por trimestre, ya que la FacturaIngr se puede repetir. Gracias Este procedimiento de código de VBA es solo para consultar con el registro de FacturaIngr y es perfecto. Como se haría con el registro FacturaIngr y trimestre, o sea cuando consulte y encuentre la fila con esa FacturaIngr y el trimestre me los pase a un formulario que tengo ya creado. …
-
0
Reacciones de usuarios
- 3 respuestas
- 790 visitas
- 1 seguidor
-
-
Saludos, necesito ayuda con una macros que funciona bien, pero ahora que ingreso datos en la columna "P", no lo muestra en la columna "Z". adjunto archivo, agradezco su ayuda. macros.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 636 visitas
-
-
Vuelvo a recurrir en su ayuda una vez mas , tengo un txt en el formulario que deseo llenar con la eleccion de dos combobox, la idea es concatenar esos dos valores en uno solo para volcarlo a mi txt y posterior registrar junto con los demas txt en mi base de datoscomo seria la forma?
-
0
Reacciones de usuarios
- 1 respuesta
- 1.1k visitas
-
-
Hola a tod@s, He creado un codigo para poder modificar los datos de mi tabla y mi listbox. El codigo funciona bien pero el problemas es que me crea un duplicado del registro al modificarlo. Saben porque me sucede esto? Saludos, 111.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1k visitas
- 1 seguidor
-
-
Buenos Días Me ha surgido una complicación al tener que trabajar con datos y necesito ayuda con este problema que tengo, ya que mis conocimientos de Macros son casi nulos, estoy empezando a raíz de que me ha surgido este problema. Se trata de lo siguiente: tengo que hacer unas encuestas (más de 100 cuestionarios cada vez) que constan de mas de 70 preguntas con sus respuestas correspondientes, las respuestas no están siempre en el mismo orden ni son iguales, las respuestas están en formato texto, pero si que tienen orden con un valor numérico (1,2,3,4,5, ….). La cuestión es la siguiente, la aplicación de encuestas me genera un fichero Excel en el que en la pri…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.2k visitas
-
-
Buenas noches. Estimados es para pedirle su apoyo en optimizar mi trabajo, explicó en el adjunto y también quiero agradecer el apoyo de cada uno de ustedes, del esfuerzo y la dedicación que le ponen al contribuir sus conocimientos incondicionalmente. Saludos. P543a.xlsm
-
0
Reacciones de usuarios
- 6 respuestas
- 1k visitas
- 1 seguidor
-
-
tengo una aplicacion con 11 hojas(1 hoja de inicio con 10 botones quiero que al abrir la aplicacion solo se muestre la hoja de inicio 1 pero con todas las solapas ocultas inclusive la solapa de hoja inicio , como lo puedo hacer , mi thisworkbook puse: Hoja1.Visible = xlSheetVeryHidden Hoja2.Visible = xlSheetVeryHidden Hoja3.Visible = xlSheetVeryHidden Hoja4.Visible = xlSheetVeryHidden Hoja5.Visible = xlSheetVeryHidden Hoja6.Visible = xlSheetVeryHidden Hoja7.Visible = xlSheetVeryHidden Hoja8.Visible = xlSheetVeryHidden Hoja9.Visible = xlSheetVeryHidden Hoja10.Visible = xlSheetVeryHidden Hoja11.Visible = x…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.2k visitas
- 1 seguidor
-
-
Hola a todos! Quería saber si me pueden ayudar con este problema. El problema surge porque tengo 133 archivos de excel, y me gustaría poder copiarlos a todos en un solo excel, dividiendo la información de cada archivo en una hoja, y respetando el orden de numeracion, es decir, la información del archivo llamado 1, se coloque en la hoja 1, la del archivo dos, en hoja 2, y así sucesivamente. He encontrado Macros que realizan este trabajo, pero copian toda la información en una sola hoja, y el recorrido de Archivos es aleatorio, por lo que me modifica el orden necesario de los mismos. Un saludo y ojalá puedan ayudarme.
-
0
Reacciones de usuarios
- 16 respuestas
- 1.6k visitas
- 1 seguidor
-
-
Buenas tardes a tod@s. Adjunto un archivo que registra Entradas y Salidas de material de obras. En la parte del registro de ese mismo archivo tengo persona que entrega y persona que retira en la que aparecen unos desplegables de usuarios. En esos desplegables pues elegimos al usuario que sea . Pero, necesitaba saber si hay posibilidad de que al introducir un usuario, solicitase una contraseña y según la contraseña aparezca el nombre del usuario que le corresponda nada mas. O sea, que filtre por usuario según la contraseña que se indique en la celda y oculte los demás usuarios. Si no es con desplegable me puede valer cualquier otra opción. …
-
0
Reacciones de usuarios
- 0 respuestas
- 590 visitas
- 1 seguidor
-
-
Como verán soy muy principiante en el tema Tengo un formulario, y en el combobox1 tengo que poner una fecha, cuando me carga en la hoja, me pone cualquiera, Alguien me puede dar una manito copio el codigo Private Sub CommandButton3_Click() For i = 4 To 3000 If Hoja1.Cells(i + 1, 1).Value = "" Then Hoja1.Cells(i + 1, 1) = Val(TextBox1) Hoja1.Cells(i + 1, 2) = Val(ComboBox1) Hoja1.Cells(i + 1, 3).Value = ComboBox2 TextBox1 = Empty TextBox1.SetFocus Exit For End If Next End Sub Gracias de antemano
-
0
Reacciones de usuarios
- 2 respuestas
- 2.4k visitas
-
-
Hola amigos como estan! ando con una inquietud hace días que me mire todos los videos que encontre y no logro resolver un punto importante en mi proyecto. Tengo dos Archivos excel: Datos - Abastecimientos2 y Autorizaciones., ambos archivos tienen una hoja llamada "Datos" En el archivo de Datos - Abastecimientos, en la Hoja datos, van ingresando datos a los cuales se le agrega el valor = "Prespuestado" una vez que se hice la busqueda de precios. Lo que estaba intentando con el modulo 1 es que me busque todos los datos de esa hoja y me copie solo las filas que cumplen la condicion de tener la palabra "Presupuestado". y me las pegue en la Hoja Datos…
-
0
Reacciones de usuarios
- 2 respuestas
- 673 visitas
-
-
Hola a tod@s En el siguiente código lee información del archivo "ConsultaSQL.txt": Sub opentxt() Dim fileName As String, textData As String, textRow As String, fileNo As Integer Dim CodCliente As String fileName = "C:\Users\PC\Usuario\ConsultaSQL.txt" fileNo = FreeFile CodCliente = UserForm.TextBox1.Value Open fileName For Input As #fileNo Do While Not EOF(fileNo) Line Input #fileNo, textRow textData = textData & textRow Loop Close #fileNo End Sub Sin embargo, necesito que mediante un Textbox ingresar el código del cliente y este insertarse en la SQL que se encuentra en el archivo .txt para que haga el filtro correspondiente. El objetivo …
-
0
Reacciones de usuarios
- 4 respuestas
- 1.2k visitas
-
-
Hola , muy buen dia para todo .tengo una consulta que no se como resolver Private Sub BotValidar_Click() Dim usuario As String Dim Pass As Variant Dim HojaVisible As String Dim UsuarioExistente Dim DatoEncontrado Dim Rango As Range UsuarioExistente = application.WorksheetFunction.CountIf(Sheets("Auxiliar").Range("O:O"), Me.TxtUsuario.Value) Set Rango = Sheets("Auxiliar").Range("B:B") If Me.TxtUsuario.Value = "" Or Me.TxtPass.Value = 0 Then MsgBox " Por favor introduce usuario y contrasenia", vbExclamation Me.TxtUsuario.SetFocus 'se valida que el usuario exista en la tabla ElseIf UsuarioExistente = 0 …
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k visitas
-
-
Hola estoy cargando una hoja Excel a una grilla de VB6 y creo que el método que estoy empleando es lento, creo recordar que hay otros métodos mas rápidos, yo utilizo dos for X, y for Y recorriendo celda por celda y obtengo su valor (esto en 790 filas con 21 columnas me esta demorando 1 minuto), pero creo que había una forma de obtener un array de las celda lo cual es mas rápido mi código actual Private Sub Form_Load() Dim LastRow As Long Dim i As Integer Dim XL As Object, xlSpread As Object Const xlLastCell = 11 Dim Row As Long, Col As Long Set XL = CreateObject("Excel.Application") XL.Workbooks.Open FileName:=App.Path & "\L1.xlsx"…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.2k visitas
-
-
buenas tardes, tengo una macro que trabaja con datos, que los extrae de otras planillas y tablas web, cuando hago correr la macro, esta se demora aprox 2 horas en completar su proceso, lo que me imposibilita de trabajar en otras planillas existe alguna manera de abrir otro excel y poder utilizarlo a la par? tal vez con una maquina virtual o algo asi? muchas gracias por su ayuda
-
0
Reacciones de usuarios
- 1 respuesta
- 650 visitas
-
-
Hola. Esoty intentando que al abrir un libro se abra un formulario y queria que: o bien el excel se oculta, pero que se puedan utilizar al m ismo tiempo otros libros o bien que la ventana del excel se cambie al tamaño del formulario para ocultarlo detras del formulario y, ya puestos ? que al mover el formulario la ventana cambie la posicion tambien. He estado mirando por varios foros y no he visto nada que se ajuste a mis "pretendiones". Igual es que no se puede hacer :-(. Gracias MJ
-
0
Reacciones de usuarios
- 5 respuestas
- 1.6k visitas
-
-
Buen día expertos quiero hacerles una consulta y si alguien me puede ayudar por favor. tengo una imagen en formulario a la cual le quiero hacer específicamente la optimización de imágenes que son: inversión de color, poner en espejo, contraste, nitidez, brillo, escala de grises ¿como puedo hacer eso en un formulario para una imagen en especifico?
-
0
Reacciones de usuarios
- 0 respuestas
- 613 visitas
-
-
Una pregunta: "¿Alguien sabe cómo centrar los títulos de un cuadro MsgBox que no se utilizando espacios en blanco, sino que se realice de manera automática?" Debe existir algún valor de una propiedad que desconozca. Gracias.
-
0
Reacciones de usuarios
- 2 respuestas
- 1.7k visitas
-
-
Hola a todos; -Hoy no vengo a preguntar nada pero si a compartir un video donde muestro tres ejemplos usando variables permanentes. Bueno pedir primero permiso si se puede publicar en caso contrario borráis el post. Enlace del video: https://youtu.be/i5LBBzYeUY4 Con vuestro permiso también adjunto la macro. Espero que os guste y si veis que tiene algún error me lo comunicáis. Saludos Mvp.xlsm
-
0
Reacciones de usuarios
- 0 respuestas
- 635 visitas
-
-
MOSTRAR EL VALOR DE CELDA C10 EN TEXTBOX 6 EN USERFORM gracias saludos libro alumno maestro.xlsm
-
0
Reacciones de usuarios
- 12 respuestas
- 12.1k 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.