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
-
Hola, una vez mas necesito vuestra ayuda, he intentado sacar el codigo de otros usuarios que han hecho la misma consulta que la mia, pero no me entero mucho. en mi caso los elementos de ambos combobox no estan en una hoja excel si no en el userform. expongo mi ejercicio. en el combobox1 tengo 9 elementos y en el combobox2 hay 22 elementos si combobox1 es igual 0 el combobox2 tiene que mostrar solo los dos primeros elementos (0 y 1) si combobox1 es igual 1 combobox2 = muestre los elementos 0 y 1 si combobox1 = 2 combobox2 = desde el 6 hasta el 22 si combobox1=3 combobox2 = desde el 14 hasta el 22 y asi con el resto de elementos del…
-
0
Reacciones de usuarios
- 3 respuestas
- 605 visitas
- 3 seguidores
-
-
macro para elegir carpeta origen, destino y copia recursiva de archivos . El problema que presenta es que cuando debería de salir de un menú inicial para seleccionar entre 4 opciones, y acto seguido pasarle un valor selecionado como carpeta origen al modulo principal. Acto seguido debería de solicitar una carpeta destino . La comprobacion de la existencia de los archivos se realiza desde un segundo archivo excel, haciendose la comprobacion en la carpeta origen y en todas sus subcarpetas de manera que todo aquel archivo que exista en carpeta origen o subcarpetas y aparezca su nombre en el segundo archivo excel será copiado en la carpeta destino. …
-
0
Reacciones de usuarios
- 1 respuesta
- 777 visitas
-
-
Hola, buenas tardes! Les comento, estaba tratando de armar una macro que fuera capaz que ordenar de mayor a menor los valores de cualquier columna de la tabla dinámica (principalmente del campo valores), la macro debe detectar la celda activa y ordenar de mayor a menor los valores de la columna en cuestión. Me encontré con una macro que logra hacer eso pero con el problema que solo funciona mientras tenga una solo valor en el campo "Filas" En este caso si yo solo tuviera el valor "Nombre" dentro del campo filas, la macro funciona bien, si yo tengo la celda activa en C5, entonces la macro ordena de mayor a menor lo valores del mes de enero, si la tengo en l…
-
0
Reacciones de usuarios
- 1 respuesta
- 1.2k visitas
-
-
Hola a todos. Tengo un LIBRO de 142Kb. No veo la manera de reducirlo y que siga siendo comprensible. ¿ Como puedo mandarlo? Gracias a tod@s.
-
0
Reacciones de usuarios
- 3 respuestas
- 612 visitas
- 2 seguidores
-
-
Estimados maestros buenas noches. Agradezco su ayuda al siguiente inconveniente: Dispongo de una Hoja (TAB) donde se encuentra información consolidad que es extraída de la hoja (Hoja1). La idea es disponer la información detalla hoja TAB por cada línea según lo que contenga la hoja1, debería contener todas (Hoja TAB) las celdas (columna "L") la información detallada según el código de producto (columna "D") de la Hoja1. Les comparto el archivo. Cualquier duda estoy pendiente. Muchas gracias. UNO.zip
-
0
Reacciones de usuarios
- 12 respuestas
- 1k visitas
-
-
Buenas, tengo una duda de si se puede hacer o no con un listbox. Quisiera seleccionar un celda de un listbox dandole click para poder editarlo. Lo único que consigo seleccionar es la fila pero no una columna en concreto
-
0
Reacciones de usuarios
- 5 respuestas
- 1.1k visitas
- 2 seguidores
-
-
Buenos días:He leído un poco de como generar un fichero de texto pero no he logrado saber como generar distintos espacios entre columnas. O sea, que salga la columna 1, dos espacios columna 2, seis espacios columna 3.Sería algo así:Nelio 36 LeerYune 34 BailarAgradezco a todo aquel que me pueda ayudar.
-
0
Reacciones de usuarios
- 1 respuesta
- 399 visitas
-
-
Hola, tengo una macro que me copia datos a una hoja dada, pero quisiera que cuando copie los datos y vaya a pegarlos, me pregunte el nombre de la hoja adonde quiero pegar los datos copiados. La macro es simple, ya que entiendo poco de programación Sub Datos_Capital() ' ' Datos_Capital Macro ' ' Sheets("201").Select ActiveWindow.SmallScroll Down:=-69 Cells.Select Selection.Copy Sheets("220").Select -------------->aqui es donde quisiera me preguntase el nombre u hoja a copiar Range("A1").Select ActiveSheet.Paste Range("C2:K2").Select Selection.Replace What:="3", Replacement:="22", LookAt:=xlPart, _ …
-
0
Reacciones de usuarios
- 7 respuestas
- 581 visitas
- 2 seguidores
-
-
Hola que tal, Tengo el siguiente código que me ayuda a exportar una columna cada 100 filas y guardar lo en una carpeta en formato .txt pero cada vez que exporto al final de la línea 100 se agrega un espacio en blanco, me pueden ayudar a quitarlo y que solo queden las 100 líneas que necesito. Adjunto código: Sub ExportarTXT() Dim mPath$, iniCell$, i&, LR&, Vec, j%, iniTime!, R% iniCell = "$G$2" iniTime = Timer mPath = ThisWorkbook.Path & "\Txt\" With CreateObject("Scripting.FileSystemObject") On Error Resume Next: .GetFolder(mPath).Delete True: On Error GoTo 0 .GetFolder(ThisWorkbook.Path).subFolders.Add "Txt" End With LR = Cells(Rows.Count, R…
-
0
Reacciones de usuarios
- 5 respuestas
- 1k visitas
- 2 seguidores
-
-
Hola a todos; Estoy tratando de pintar unos labels vinculando los textBox con los spinButtons, de forma estática lo consigo pero lo que quería conseguir es dar cierto dinamismo ayudándome de dichos spinButtons, Os lo muestro en este gif lo que tengo hasta ahora. Saludos y buen finde a todos. MIntervalos.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 873 visitas
- 1 seguidor
-
-
Hola estimados foreros, es posible que me puedan apoyar por favor...no sé y la verdad no entiendo el porqué del error que arroja al querer registrar un nuevo item (sondaje), me explico... en la hoja "BD" hay un botón de "agregar", éste al pincharlo se dispara el formulario con algunos datos de la tabla, luego si es que quiero registrar un sondaje nuevo (botón registrar) , al momento de digitar cualquier tecla... se dispara inmediatamente un mensaje con el error mencionado en el título de este tema. Por lo que estoy estancado en este punto y no puedo seguir avanzando para dejar funcionando el resto de los botones. Adjunto el archivo por si alguien me puede ayudar a sacar e…
-
0
Reacciones de usuarios
- 4 respuestas
- 5.1k visitas
- 1 seguidor
-
-
Hola a Todos y buen dia. Espero y puedan apoyarme con mi tema de antemano muchas Gracias Tengo un codigo de macro que me sale error, y quisiera que alguien me ayudara, Explico que es lo que debe de hacer esa macro. Tengo numeros distintos en la columna A y un importe a buscar en la columna C2 lo que requiero es que en la columna B me señale con una "x" los importes exactos que sumen la celda que se encuentra en la Columna "C2" Anexo Archivo . Libro1.xlsm
-
0
Reacciones de usuarios
- 3 respuestas
- 538 visitas
- 1 seguidor
-
-
Buenas tardes, Necesito ayuda en varios aspectos, me he bloqueado y a pesar de haber intentado varios métodos no consigo llegar a lo que necesito. Adjunto archivo con una pequeña prueba. 1. Necesito insertar un número determinado de filas desde A1 hacia abajo, a partir de la cantidad que ponga en B2, será entre 1 y 6 máximo, pero es por no estar insertando manualmente. Lo he intentado con la siguiente macro, pero siempre tengo que tener la celda bien marcada y con al menos 2 filas ya fijadas para que se quede el mismo formato, no sé si existe otra forma de hacerlo: Sub InsertarFilas() Dim numFilas As Long Preguntar al usuario por el núme…
-
0
Reacciones de usuarios
- 6 respuestas
- 775 visitas
- 1 seguidor
-
-
Estimad@s, buenos días. Debo seleccionar un rango de celdas que contienen formulas desde la celda B2 hasta la I800 (B2:I800). Este rango varía de acuerdo a la información necesaria. Es decir que trae datos desde B2 hasta I3 y/o hasta I800. El tema es que las fórmulas siempre van hasta la I800 y no hasta el dato que quiero que seleccione. En este caso, el dato es un texto que es resultado de una fórmula. Cuando la fórmula no cumple cierta condición se muestra en blanco (" "). Pero para la Macro es una celda con datos. Entonces, cómo seleccionar hasta la última celda que contenga "x" dato que es el resultado de una fórmula. Debo seleccionar B2 hasta la última celda que…
-
0
Reacciones de usuarios
- 6 respuestas
- 687 visitas
- 1 seguidor
-
-
Hola a todos los del foro Requiero un favor de ustedes, con un macro que me convierta el dato de la columna D de la hoja TXT a número con dos decimales. Los números de esta columna todos ninguno tiene separador de decimales pero todos los últimos dos valores son decimales. macro.xlsm Ejemplo D2 = "60225700 debe ser 602,257.00" D3 = "16123300 debe ser 161,233.00" de antemano muchas gracias y espero alguno me pueda ayudar.
-
0
Reacciones de usuarios
- 10 respuestas
- 2.3k visitas
- 2 seguidores
-
-
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
- 876 visitas
- 1 seguidor
-
-
Buenas, tengo un proyecto con tres userforms a los cuales he podido acceder en un proceso normal. Pero me ha llegado el problema cuando he querido volver a un userform que le habia puesto en .Hide y me saltaba el error de que no se podía mostrar porque ya estaba abierto. He intentado ir cerrando los userform según iba pasando al siguiente mediante una funcion ubicada en un módulo y ahora me da error '91' en tiempo de ejecucion - variable de ojeto o bloque with no establecido. Esta es la funcion que la tengo ubicada en un Módulo. Function FormularioAbierto(ByVal Nombre As String) As Boolean Dim frm As Object frm = False For Each frm In VBA.UserForms …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.5k visitas
- 1 seguidor
-
-
Hola a todos; En la macro que adjunto importo los nombres de un directorio a mi Excel con el siguiente formato: Fecha+un espacio+terminación: Ejemplo: 010223 f.pdf Con la función extrae puedo dejarlo en 010223 pero sigue sin tener el formato fecha. Me puede servir con Macro o también si se puede con Power Query. Saludos a todos y buen día. P.D.: Decir que en la macro ya he importado los nombres de los archivos. MDir.xlsm
-
0
Reacciones de usuarios
- 9 respuestas
- 881 visitas
-
-
Buenas tardes, ¿Me podéis decir si esto lo puede hacer Excel? Tengo una hoja con datos en tres columnas, 2 numéricas y una de texto, el problema que tengo es que estos datos los cojo de una aplicación diferente y se van modificando diariamente, necesito actualizar los datos de estas columnas sin perder las que no se hayan modificado, solo cambiar los que coinciden con el texto y primera columna y añadir si no existe añadiendo los tres campos. Lo he intentado en otra hoja del mismo libro pero no soy capaz. No se si me he explicado, bien. Un saludo a todos, Paco
-
0
Reacciones de usuarios
- 15 respuestas
- 708 visitas
- 1 seguidor
-
-
Muy buenas, No soy experto en Excel, voy buscando información por todos sitios y cogiendo ideas de todos los que sabéis. Estoy haciendo un archivo Excel de facturación y necesito ayuda en un par de cuestiones: Por un lado, a la hora de pasar los datos de una factura nueva ("Guardar factura"), en la hoja "Datos factura" necesito que se copien todas las fórmulas del rango "M:O" y de "Q:S", ahora mismo se copian algunas sí y otras no, no sé porqué. Y por otro, he conseguido realizar una consulta de facturas para poder imprimirlas o guardarlas, pero necesito que se puedan modificar, cambiando los datos de la hoja "Datos factura". No puedo adjuntar el…
-
0
Reacciones de usuarios
- 5 respuestas
- 602 visitas
- 1 seguidor
-
-
Buenos días, Estoy intentando crear una macro para enviar emails a distintas personas, con "varios" ficheros adjuntos a cada persona, de forma que en una cela pueda indicar un patron de los archivos que quiero adjuntar. marcando un fichero en concreto si funciona, pero cuando le digo que sean varios, por ejemplo el registro 1 y el 3 da error. He visto que se puede hacer lanzando un cuadro de dialogo a la hora de seleccionar los ficheros, pero quiero hacer el proceso desatendido. Os adjunto el fichero a ver si alguien puede echarme una mano. Gracias La hoja sería algo parecido a esto: Sub enviar_email() Dim A As Out…
-
0
Reacciones de usuarios
- 2 respuestas
- 1.4k visitas
- 1 seguidor
-
-
Hola foreros, gusto en saludarlos nuevamente, espero puedan ayudarme por favor a optimizar la obtención de datos que vienen desde varias hojas que tienen la misma estructura, el problema es que algunas tienen 3 filas con datos, otra puede tener 2 ó 1 fila con datos, entonces entiendo que con una macro es posible recorrer filas con datos... si lo encuentra ... lo copia y pega en hoja "compilado_HOJAS" quedando ésta como una tabla resumen, el resultado final de cómo debería quedar lo que necesito se muestra en la hoja "compilado_HOJAS", son muchas las hojas desde donde necesito obtener la información, para este ejemplo dejé solo algunas, espero haberme echo entender, pero…
-
0
Reacciones de usuarios
- 2 respuestas
- 431 visitas
- 1 seguidor
-
-
Buenas tardes! me ayudan por favor, Necesito resaltar un rango de fila ej (A1:E1) y dependiendo del valor de E1, si este es "ok" resalte este rango. (Dentro de la hoja completa) Muchas gracias
-
0
Reacciones de usuarios
- 1 respuesta
- 643 visitas
- 1 seguidor
-
-
buenos días, necesito vuestra ayuda llevo días buscando código para terminar un tarificador y no doy con el código. en un formulario necesito que cuando el usuario escriba en un textbox un codigo postal "05495" automaticamente "05" se pegue en una celda excel y de ahi poder hacer un buscarv y sacar la provincia de la tabla "Codigos" he utilizado el codigo Hoja1.Range("d2") = TextBox1.Value para que peque todo el codigo postal en la celda excel, despues con =izquierda() saco los dos caracteres de la izquierda y con un buscarv sacar la provincia de la tabla, pero me sale error. preferiria conocer el codigo que busque la provincia de la tabla el objet…
-
0
Reacciones de usuarios
- 3 respuestas
- 481 visitas
- 1 seguidor
-
-
Buen día, tengo un problema con el cuadro de listbox en un formulario de vb, el cual cuando esta en ejecución funciona, luego de agregar un registro, presiono el botón cerrar del formulario y lo cierra todo el libro de trabajo y sin grabar por favor si me pueden ayudar. El código que estoy usando para cargar el listbox del formulario con 5 columnas de datos es esta, el problema surge cuando cierro el formulario y se sale sin grabar; pasa lo mismo cuando uso el Me. list... Sub cargar_lista() Dim fila As Long fila = Hoja1.Range("A" & Rows.Count).End(xlUp).Row frm_proveedores.lis_proveedores.RowSource = Hoja1.Range("A2:E" & fila).A…
-
0
Reacciones de usuarios
- 1 respuesta
- 598 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.