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?
8680 temas en este foro
-
Buenas a todos. Tengo este codigo que forma parte de una macro, que como podeis ver sirve para crear y enviar PDF por email pero esta es la seccion donde en ocasiones me produce el error. En condiciones normales y fuera de la oficina con conexion normal a Internet funciona de maravilla. El problema viene cuando tengo el ordenador en la oficina y está conectado a la red de la empresa y al usar la macro se me para en esta linea Application.PrintCommunication = False. Me tiene descolocado ya que tengo configurado como impresora predeterminada CUTE PDF y no se porque en la ofi se para siempre aquí y fuera de la ofi funciona. En la oficina hay impresoras en red a las que…
-
0
Reacciones de usuarios
- 0 respuestas
- 3.3k visitas
-
-
Hola buenas. Necesitaria uan macro que copiara o registrara los datos a partir de una fila, estos datos van cambiando. En hoja1 Fila 2 (color amarillo), estos datos no son nunca los mismos nesesitaria una macro para que se copiaran o registraran a partir de la fila 5 (color naranja) a medida que los datos de la fila 2 van cambiando. Hoja 2 lo mismo pero los datos estan en celdas separadas (color amarillo) Gracias de antemano. Salud2. Macro Copiar datos.rar
-
0
Reacciones de usuarios
- 16 respuestas
- 3.3k visitas
-
-
Buenos días, Lo que sucede es que estoy teniendo problemas con una macro que estoy ejecutando pues me aparece el error que hace referencia a que el procedimiento es demasiado largo, no he podido reducirlo pues son al rededor de 270 variables que debo incluir, en el archivo adjunto incluyo una pequeña parte de esta macro donde solamente relaciono 2 variables y corre a la perfección. En general, lo que pretendo es pasar de un documento a las 270 variables al oprimir el botón "Formato". He intentado dividir el procedimiento en varias partes pero no lo he logrado, quisiera pedir su colaboración con este tema pues por más que lo intento no lo he conseguido. Este código es e…
-
0
Reacciones de usuarios
- 18 respuestas
- 3.3k visitas
-
-
Hola de nuevo compañeros, ¿Cómo puedo hacer para mostrar toda la información contenida dentro de un array en un sólo cuadro MsgBox? Tengo el siguiente código de pruebas con dos opciones disponibles, pero ninguna de las dos funciona: Sub pruebas() ' Declaramos las variables... Dim miArray() As Variant miArray = Range(Cells(2, 1), Cells(2, 8)) ' Opción 1: ' MsgBox Join(miArray(1, 3), vbCr) ' Opción 2: For i = 0 To UBound(miArray) msgString = miArray(i) & vbCr Next i ' Mostramos el contenido del array... MsgBox "Los valores del Array son los siguientes: " & vbCr & msgString End Sub
-
0
Reacciones de usuarios
- 4 respuestas
- 3.3k visitas
-
-
Estimados, Les presento mi problema que espero me puedan dar una guía de como resolverlo. Por temas de presentación en un reporte de excel tengo que poner una tabla dinámica bajo la otra tabla dinámica, el problema que tengo como es evidente es que el momento que quiero expandir la tabla dinámica superior no me deja por que no se puede superponer sobra la tabla dinámica inferior. Para solventar este problema quería aplicar una macro en VBA de excel que permita hacer lo siguiente: Encontrar el evento de la tabla dinámica que cuando de clic en el "+" para expandir la tabla dinámica lo primero que realice la macro se contar los hijos que contiene. …
-
0
Reacciones de usuarios
- 0 respuestas
- 3.3k visitas
-
-
Hola, tengo este pequeño código, pero... al ejecutarlo se me queda el puntero del ratón (en círculo)girando y tengo que salir con CERRAR SESIÓN. Podéis ayudarme de forma muy sencilla ? mi código es este: Private Sub WorkSheet_Change(ByVal Target As Excel.Range) If Range("$L$7").Value = "1" Then Call Macro18 End If End Sub Sub Macro18() Application.ScreenUpdating = False Dim Str1 As String Dim Str2 As String Dim resultado1 As Long Str1 = Range("C8") Str2 = Range("L9") resultado1 = StrComp(Str1, Str2, vbTextCompare) Range("N9") = resultado1 + 1 Sheets("Hoja1").Select Application.ScreenUpdating = True Range("A1").Select End Su…
-
0
Reacciones de usuarios
- 4 respuestas
- 3.3k visitas
-
-
Hola a todos de nuevo. De nuevo con un problema con una consulta SQL desde Excel a Access. Pongo el código y explico. 'macro para grabar los datos en tabla Checklist Fin = ListBox1.ListCount For i = 0 To Fin - 1 xxx = ListBox1.List(i, 0) Conexión If IsNull(ListBox1.List(i, 9)) Then Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='" & ListBox1.List(i, 6) & "', En_Curso='" & ListBox1.List(i, 8) & _ "' WHERE ID =" & xxx Else Sql = "UPDATE Tb_Checklist SET Importe='" & ListBox1.List(i, 4) & "',Contable='" & ListBox1.List(i, 7) & _ "', Previsto='…
-
0
Reacciones de usuarios
- 4 respuestas
- 3.3k visitas
- 1 seguidor
-
-
Estimados Estoy recien aprendiendo e intentando crear macros en VB,pero esta vez necesito por favor ayuda... Debo crear lo siguiente: 1. Crear una macro que tome las primeras 10 celdas de la hoja 1 y las copie en la segunda hoja a partir de A1 2. Crear una macro que tome de la celda 11 en adelante y la copie a una tercera hoja a partir de A1 Este es el codigo que intente hacer pero no me resulta el traspaso a la tercera hoja Public Sub traspasohoja2() Sheets("hoja1").Select Dim i As Integer For i = 1 To 10 Cells(i, 1).Select Selection.Copy Sheets("hoja2").Select Cells(i, 1).Select ActiveSheet.Paste Sheets("hoja1…
-
0
Reacciones de usuarios
- 1 respuesta
- 3.3k visitas
-
-
hola que tal expertos espero me puedan dedicar un poquito de su tiempo y pasciencia para aclarar esta duda que tengo ya que lo que intento hacer es una especie de control tipo calendario con un combobox donde al darle click en un combobox me despliegue un formato parecido al del dtpicker o calendario donde el combo box tiene un formato de este tipo combobox = Format(combobox, "dd/mmmm/yyyy") he logrado hacer una lista para dia otra para mes y otra para año, pero estan en distintos comboboxes mi pregunta es el como unir esas listas para que aparescan en un solo combobox,,,no he querido utilizar los calendarios o los dtpicker pporque no forman parte estandar de e…
-
0
Reacciones de usuarios
- 4 respuestas
- 3.3k visitas
-
-
Bueno, ante todo saludar a todos los miembros de este foro, que tanto me está ayudando. La verdad es que es un "almacén" de sabiduría enorme... Bueno, mi pregunta es la siguiente: Antes de nada una imagen, para saber por donde vamos... [ATTACH]36700.vB[/ATTACH] Este form es para capturar los datos de una venta por tpv. Por lo pronto al pulsar enter o tab, pasas en el orden de los números sin problemas, cosa clara... El tema está en que si, por ejemplo, en la primera linea yo modifico el campo "Dto. %" o el "PRECIO" quiero que al presionar enter o tab salte al primero de la linea de mas abajo, es decir... si estoy en el numero 41 que al presionar enter salte al numer…
-
Buenas tardes Estoy creando un archivo que tenga entre algunos usos: 1. Llevar el control de las compras a proveedores del exterior, 2. controlar los ingresos para analizar las existencias y salidas por ventas. Como son varias cosas dentro de un mismo archivo, lo estoy creando con diferentes hojas, pero tengo un problema que todavía no resolver.. En el ejemplo que se adjunta presento una idea general de lo que necesito hacer, en la hoja 1 se muestra el formato para control de las compras, en donde se incluye una columna para las cantidades pedidas y otra para las cantidades reales embarcadas. En la hoja 2 se muestra el cuadro de almacenamiento de datos, de manera que …
-
0
Reacciones de usuarios
- 12 respuestas
- 3.3k visitas
-
-
Hola: El motivo de la consulta es el siguiente: Quiero saber si hay posibilidad de que al pasar el ratón por encima de una celda me salga un comentario, pero en el que aparezca el texto que hay en otra celda. El valor de esta última celda puede variar, de manera que el comentario irá variando en función de esa celda. He estado tratando de hacerlo de forma sencilla (con los comentarios normales) pero no soy capaz. No sé si con VBA se podrá hacer. Muchas gracias de antemano.
-
0
Reacciones de usuarios
- 18 respuestas
- 3.3k visitas
-
-
Buenos días, me he vuelto loco intentando encontrar la solución a un problema que tengo y agradecería ayuda. Intento explicaros lo mejor que pueda. Tengo una Hoja de excel la cual tiene datos en la columna A y la columna B. Necesito que si selecciono el dato que yo necesite de la columna A y apriete un botón se ejecute la macro y... cambie a color rojo el dato de la celda seleccionada, compruebe el dato de su derecha, columna B, y si pone Nuevo me copie el dato seleccionado, Columna A, en L6, pero si pone a la derecha del dato Antiguo copie el dato de la columna A en la celda O6. En resumen, que compruebe la macro a la derecha del dato seleccionado y copie en L6…
-
0
Reacciones de usuarios
- 16 respuestas
- 3.3k visitas
- 1 seguidor
-
-
Buenas noches. Maestros quisiera saber si se puede volver dinámico el rango a la derecha la propiedad RowSource de un ListBox. Es que tengo una base de datos a la cual de vez en cuando se le agregan columnas nuevas y quisiera se ampliara la selección a la derecha como lo hace hacia abajo. Ejemplo ListBox1.RowSource = "A4:End(xlToRight)" & Range("A3").End(xlDown).Row Algo así, no se si se podrá.
-
0
Reacciones de usuarios
- 15 respuestas
- 3.3k visitas
- 1 seguidor
-
-
Hola! Necesito crear alrededor de 120 libros, los cuales deben contener dos hojas cada uno. Dichas hojas son extraídas de dos libros diferentes. Lo que estaba haciendo era crear, a partir del "libro 1", un archivo por cada hoja que contiene dicho libro, usando una macro. Luego, abría cada uno de esos archivos y movía, manualmente, la hoja que les correspondía del "libro 2". Es importante mencionar, que tanto el "libro 1", como el "libro 2" contienen 120 hojas, las cuales pertenecen a cada nuevo archivo. ¿Existe alguna forma de crear los 120 archivos de forma automática? Desde ya agradezco cualquier información que me puedan aportar.
-
0
Reacciones de usuarios
- 7 respuestas
- 3.3k visitas
-
-
Buen dia, tengo un inventario que manejo manualmente, y queria automatizarme un poco el trabajo, por eso quería formar una base de datos tal cual se muestra en el siguiente video tutorial: Sin embargo, soy algo novato y no consigo hacer lo que dice el video, ¿alguien podría explicarme paso a paso por escrito? Ya he buscado varios software para inventarios, pero ninguno se ajusta a nuestras necesidades. Gracias de antemano.
-
0
Reacciones de usuarios
- 6 respuestas
- 3.3k visitas
-
-
El problema que tengo es el siguiente: Tengo una hoja de calculo, la cual tiene datos desde la celda A1, hasta aproximadamente la celda L250, el echo es que tengo que, filtrar datos, por la columna "K",y columna"L", que tiene unos 10 valores distintos. (opcion1, opcion2, opcion3....) bueno mi solución, fue crear un userform, el cual posee varias casillas de verificación, y al chulear, dichas casillas, y pulsar un botón de búsqueda, me realiza el filtro. Y hay es donde viene mi problema, el filtro se me aplica, únicamente a una solo opción, es decir si chuleo la opcion1, y la opcion2 únicamente me aplicara el filtro a una de estas opciones, y lo que necesito, …
-
0
Reacciones de usuarios
- 9 respuestas
- 3.3k visitas
-
-
Retomo el tema de un compañero, alguien sabe donde se puede encontrar o que tenga un listado en excel o txt con los PAISES, ESTADOS(O PROVINCIAS O DEPARTAMENTOS) Y MUNICIPIOS(O DEPARTAMENTOS) a nivel mundial. O una base de datos, y que este relacionado es decir filtro país Estados Unidos me salgan solo los estados, ejemplo Florida y todas la ciudades, Miami, etc. Ejemplo CITYNAME STATE STATE_TYPE COUNTRY COUNTRY_CODE ARROYOFRIO TERUEL Province SPAIN ES AZAILA TERUEL Province SPAIN ES …
-
0
Reacciones de usuarios
- 1 respuesta
- 3.2k visitas
-
-
como estan , tengo un libro, el cual esta compuesto por varias hojas, (8). al abrir el archivo de excel se abre un userform que contiene un combobox con el listado de hojas cargado necesito ocultar las hojas 2,3,4,5,6, y que al seleccionar por ejemplo la hoja4 en el combobox , se pueda ver y trabajar en ella. y al salir de la hoja4 se vuelva a ocultar. gracias envió archivo ejemplo busca hojas.zip
-
0
Reacciones de usuarios
- 4 respuestas
- 3.2k visitas
-
-
Hola amigos. Quisiera saber como hacer una macro para registar datos de un libro a otro, tengo el libro1 y libro2, al registar datos en el libro1 que la macro me registre en el libro2, así por cada registro me lo registre de bajo del ultimo registro, gracias, adjunto los libros. Libro2.xls Libro1.xls
-
0
Reacciones de usuarios
- 17 respuestas
- 3.2k visitas
-
-
Hola, Quiero hacer una macro que cada vez que escriba en una celda, al cambiar de celda me borre una de las celdas repetidas. Para ello utilizo el evento Worksheet_Change, que por lo que entiendo, se ejecuta cuando se cambia de celda. El problema que tengo es que no me ejecuta la macro. No me hace nada y tampoco hay ningún error. Este es el código: Public Sub Worksheet_Change(ByVal target As Range) Dim f_max, c_max As Long f_max = ActiveSheet.Cells.SpecialCells(xlLastCell).Row Range("E" & Rows.Count).End(xlUp).Row UltFila = Range("E" & UltFila + 1).Select If (target = UltFila) Then For f = 3 To f_max For ff = 4 To f_max If ActiveCell.Value = Acti…
-
0
Reacciones de usuarios
- 3 respuestas
- 3.2k visitas
-
-
Hola, muy buenas exceleros. Felicitaciones por el foro. Con unos compañeros hemos desarrollado un programa para el apoyo de la gestión y control de producción; el cual consta de varios formularios y módulos. Nuestra idea no es ocultar ni proteger el conjunto de códigos, sino de ocultar un solo código que se encuentra dentro de un formulario, el cual hace el llamado a un módulo, hemos logrado ocultar ese módulo (no se abre ese módulo), pero no hemos logrado ocultar el código dentro del formulario, por lo tanto, se pretende ofuscar ese código totalmente o hacer invisible solo la línea del llamado al módulo (si esto es posible), sin embargo, no lo hemos conseguido, solo hemo…
-
0
Reacciones de usuarios
- 3 respuestas
- 3.2k visitas
-
-
Tengo un pequeño libro de excel que he hecho salseando con aportes vuestros y cuando envío el archivo xlsm por correo a alguien para que lo utilice le dice que está dañado y no le funciona. En mi ordenador va perfectamente ¿que puedo hacer? Gracias Almacen Marichu.rar
-
0
Reacciones de usuarios
- 1 respuesta
- 3.2k visitas
-
-
Muy Buenas, bueno por molestarles una vez mas, ya que he tratado de realizar un Complemento(.xlam) que me permita ejecutar una macro en cualquier libro. En ocasiones anteriores dos personas me ayudaron con la duda que tenia(Cambiar color de celda - modificado). La cual consistía en cambiar de color una celda que modificara. Pero se lo podía realizar únicamente colocando el código en una hoja en concreto: Private Sub Worksheet_Change(ByVal Target As Range) Target.Interior.ColorIndex = 6 End Sub Pero deseo utilizar esta macro desde el complemento. En el he creado un Checkbox donde debería permitirme activar o desactivar dicha macro. Pero no lo he logrado, y es ahí dond…
-
0
Reacciones de usuarios
- 15 respuestas
- 3.2k visitas
-
-
Hola, Estoy intentando crear un procedimiento para poder descargar un archivo que esta ubicado en un servidor FTP. Para ello, he encontrado por internet un codigo que pretende hacer lo que deseo y lo he adaptado a mis condiciones particulares (nombre host, usuario, contraseña). Sin embargo, no logro hacerlo funcionar. Adjunto el archivo, ¿alquien podría decirme que estoy haciendo mal? Gracias DescargaFTP.xls
-
0
Reacciones de usuarios
- 1 respuesta
- 3.2k 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 [email protected]
Información adicional: Encontrarás más información en la política de privacidad.