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
-
Saludos a la comunidad y espero estén todos bien Tengo el siguiente impasse.... Sheets("RESUMEN CC").Shapes.Range(Array("Drop Down 1", "Drop Down 2", "Drop Down 3", "Button 9", "Button 8", "Group 14", "Rectangle 1")).Select Funciona perfecto ...pero...al ejecutar la aplicación en algún pc; en que el nombre del objeto (Rectángulo 1) está en español, me marca error. Hay alguna instrucción en VBA que pueda indicarme el lenguaje en que están los objetos ?? gracias de antemano
-
0
Reacciones de usuarios
- 2 respuestas
- 674 visitas
-
-
Hola tengo una duda si uso el mismo patrón de fórmula en vba y lo replicó en 30 fórmulas diferentes en una misma página, eso puede ocasionar que excel se cierre o que el documento sea muy lento ?... No sé si eso influye.. Aquí un ejemplo de la que uso... RANGO = Range("A" & Rows.Count).End(xlUp).row With Range("A2:A" & rango) .Value = _ "=XLOOKUP(A8,TABLE1[Orden],TABLE1[semana], )" .Value = .Value End With Esta misma fórmula solo modifico la fórmula entre las comillas por countif o sumifs o xlookup.. cuál es el problema aveces excel se cierra porque el código queda en una p…
-
0
Reacciones de usuarios
- 4 respuestas
- 762 visitas
- 1 seguidor
-
-
Buenos díasEstoy trabajando en un libro el cual consta de 3 hojas.- Info desplegables: es la hoja auxiliar donde coloco los datos para desplegables y otros datos necesarios- Planing: es la hoja donde determino el trimestre que voy a trabajar y es donde se va reflejar la información que se plasme en la hoja "info dic-ene-feb"- Info dic-ene-feb: en esta hoja ingreso la información requerida. En esta hoja las columnas J y K se obtienen de cálculos auxiliares. Me sirven para determinar si la reserva es un ingreso del trimestre anterior o en su defecto la salida del huésped es en el trimestre que sigue. Para que la macro me funcione, realice cálculos auxiliares para determinar…
-
0
Reacciones de usuarios
- 1 respuesta
- 684 visitas
-
-
Buenos dias a todos. Estoy intentando desde excel meter datos en una página web, y me encuentro con dos combobox con el mismo classname. En el primero meto los datos bien, pero en el segundo, no se como hacerlo, no veo el id o alguna otra forma de identificarlo. Sub vuelos() Dim IE As Object Set IE = CreateObject("InternetExplorer.application") IE.Visible = True IE.Navigate "https://www.google.com/travel/flights?tcfs&ved=2ahUKEw jD1eu2kcH6AhWJ2tUKHdTsAGIQyJAB egQIABAY&ictx=2&authuser=0" Do DoEvents Loop Until IE.ReadyState = 4 Dim inputfield As Object Set inputfield = IE.Document.getElementsByClassName("II2One j0Ppje zmMKJ LbIaRd") If inputfield.Length >…
-
0
Reacciones de usuarios
- 3 respuestas
- 743 visitas
- 3 seguidores
-
-
Buenos días a todos; -Con el procedimiento que adjunto obtengo la ruta de una imagen y la almaceno en la caja de Texto. Si a la hora de elegir una imagen le doy a botón cancelar me devuelve "False" a la caja de texto. ¿Se puede corregir para que cuando suceda el "txtAdjunto" quede vacio? He estado analizando otros procedimiento semejantes y ocurre lo mismo. Sub CargarImagen() Dim vImage As String vImagen = Application.GetOpenFilename("Archivos JPG PNG BMP (*.jpg*;*.png*;*.bmp*), *.jpg*;*.png*;*.bmp*") If Not vImagen = "False" Then Me.txtAdjunto = vImagen Else MsgBox "No ha seleccionado nigu…
-
0
Reacciones de usuarios
- 3 respuestas
- 1.2k visitas
-
-
intento comparar la pagina1 columna (m) con la pagina2 columna (c), el objetivo es enviar a la pagina3 el resultado de aquello que esta en la pagina1 pero no esta en la pagina2. estoy trabajando en este codigo pero no se si debo cambiar de codigo o solo puedo agregar algo mas que diga si encontraste la diferencia entre pagina 1 y pagina 2, devuelve el resultado en la pagina 3. Private Sub ejemplo() 'Define Fields Dim iR As Double, oRw As Double Dim iRow_M As Double Dim s1 As Worksheet, s2 As Worksheet Dim s3 As Worksheet Set s1 = ThisWorkbook.Sheets("pagina1") Set s2 = ThisWorkbook.Sheets("pagina2") Set s3 = ThisWorkbook.S…
-
0
Reacciones de usuarios
- 7 respuestas
- 651 visitas
- 1 seguidor
-
-
Buenos días colegas, espero su salud sea excelente. Colegas, en esta ocasión venga a hacer una consulta para tratar de resolver un problema que se me ha creado. No sé si ustedes recuerdan un Proyecto que hice con la invaluable ayuda de mucho de ustedes, fue el de Pre-Nóminas para mi esposa. Al día de hoy el sistema funciona de manera eficiente, a excepción de un par de “cosas” que no son nada importante, pero cuál es el problema. A mi esposa le cambiaron el Ordenador y le dieron uno que tiene solamente 2 GB de RAM, así que imagínense lo lento que puede llegar a hacer, pero lo fundamental es que el Sistema no abre y da el error: “Error Catastrófico…memoria ins…
-
0
Reacciones de usuarios
- 3 respuestas
- 641 visitas
- 1 seguidor
-
-
Hola a todos; Os dejo una macro donde al iniciar el formulario se carga la imagen desde una Url. -Primero la descarga a una ruta y después la elimina. Dejo aquí la macro por si le interesa a alguno. Saludos. MCargarImagenUrl.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 1.6k visitas
-
-
Buenos días colegas. Espero se encuentren bien de salud. Tengo un pequeño problema. En uno de mis proyectos puse un código para que al cierre del día 30/09/2022 el libro no pudiera abrirse y no me di cuenta de eso, por lo que hoy no pude entrar al sistema y no sé como puedo hacer para poder lograr llegar hasta VBE para modificar la macro. No puedo cambiar la fecha al sistema porque eso es a través del informático y tampoco está hoy acá y necesito de urgencia poder acceder al Proyecto. Gracias de antemano. Un abrazo Pino
-
0
Reacciones de usuarios
- 7 respuestas
- 888 visitas
- 2 seguidores
-
-
Quiero copiar solo el resultado desde una macro que tiene formulas por día. Cada día la información se actualiza y la forma va a buscar x, hace el procedimiento y devuelve el resultado. Esto lo hace varias veces por día, todos los días. Por lo que a veces se truene el excel al querer manipular los resultados. Por ello siento que sería mejor pasar solo los resultados a un nuevo libro, una vez que la formula tenga dicho resultado. He visto que se pueden copiar datos condicionalmente, la condición aquí sería que la formula esté resulta. O tal vez hay otra forma más fácil pero no la encuentro.
-
0
Reacciones de usuarios
- 1 respuesta
- 478 visitas
- 1 seguidor
-
-
Hola a todos y todas; -A ver si me podéis echar un cable. Estoy intentado pasar el nombre del formulario por parámetro a un procedimiento que tengo en un módulo y me genera error y no sé porque. Si la macro la ejecuto desde la subrutina del formulario va bien en cambio desde el módulo no va y no sé porque. Sub EnviarHojaActiva(vForm As UserForm) 'Sub EnviarHojaActiva(UserForm1 As UserForm) <---Tampoco va Dim RutaTemporal As String, NombreArchivo As String Application.ScreenUpdating = False Application.DisplayAlerts = False NombreArchivo = ActiveSheet.Name RutaTemporal = VBA.Environ("temp") & "\" NombreArchivo = RutaTemporal & NombreArchivo …
-
0
Reacciones de usuarios
- 2 respuestas
- 685 visitas
- 1 seguidor
-
-
Hola, me gustaría ocultar la cinta de opciones tan sólo en mi libro activo. Se me ocurren las siguientes ideas, pero no me funcionan: Sub OcultarRibbon1() If ThisWorkbook.Activate = True Then Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)" End Sub Sub OcultarRibbon2() Application.ThisWorkbook.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)" End Sub Agradecería cualquier ayuda. Gracias.
-
0
Reacciones de usuarios
- 6 respuestas
- 3.3k visitas
- 2 seguidores
-
-
Hola como andan!, me estoy iniciando en el lenguaje de VB y me surgió una duda al momento de realizar una tarea. El control en cuestión consta en lo siguiente: la hoja de Excel consta del día del 1 al 31 en las columnas de la hoja y en la fila de debajo se coloca un 3 o se deja vacía dependiendo de si ese día se realizo el control pertinente (por ejemplo si en el día 12 hay un 3 es porque ese día se hizo el control, si no hay nada, no se hizo). La cuestión es que el control se debería hacer cada MAXIMO 7 días (es posible que se haga cada menos días). Lo que quiero hacer es un macro que analice los datos de control y si un día que debería haberse hecho control (ósea si pas…
-
0
Reacciones de usuarios
- 3 respuestas
- 764 visitas
- 1 seguidor
-
-
Buenas tardes, hice este código en VBA, consiste en abrir un dialogo para seleccionar un archivo, después copiar la info de la tabla que va de "C6" a "K" la fila K varía a veces más o menos filas ocupadas... después pegar la info en una tabla de otro libro, de igual manera empezando en "C6" o en la última fila que se encuentre texto o información. El problema es que copia y pega todo el rango que puse, "C6:K125" inclusive las filas vacías y después al querer pegar en la ultima fila, aparece el error '1004 en la línea resaltada del código, creo que este ultimo está mal hecho. Alguien sabe como arreglarlo? ______________________________________________…
-
0
Reacciones de usuarios
- 1 respuesta
- 667 visitas
-
-
Buenas tardes, mi consulta es por un problema que tengo con un listbox que uso para mostrar resultados de búsqueda filtrados mediante un textbox, el tema es que cuando no hago búsqueda con el textbox, se muestran todos los datos de las columnas que quiero con su formato correspondiente, pero al realizar una búsqueda, filtra muy bien pero la columna de los precios no se ve con formato de moneda (como si está en la tabla original y en el listbox antes de filtrar) Les dejo el procedimiento (que lo fui adaptando de otros trabajos publicados y también con su ayuda, ya que no tengo conocimiento en el tema) Desde ya muchas gracias Private Sub TEXTO_Change…
-
0
Reacciones de usuarios
- 19 respuestas
- 2.2k visitas
- 1 seguidor
-
-
Buenos días a todos. Necesito convertir una celda donde tengo una fecha en una cadena de caracteres. El problema es no quiero que elimine los 0 a la izquierda. Por ejemplo 01/07/2022 debería convertirse a 20220701, sin embargo solo consigo que se convierta en 202271. Este es el código simpe que he puesto y que luego lo he de adaptar con bucles y demás. La fecha la tengo en la celda B1 y he de convertirla en la celda B2 Sub fecha_inicio() anyo = Year(Sheets("Repsol").Range("B1")) mes = Month(Sheets("Repsol").Range("B1")) dia = Day(Sheets("Repsol").Range("B1")) Sheets("Repsol").Range("B2") = anyo & mes & dia End Sub Gracias.
-
0
Reacciones de usuarios
- 4 respuestas
- 1.1k visitas
-
-
Buenas tardes colegas. Espero se encuentren bien de salud. En un Proyecto que terminé hace un par de meses me está dando el Error 91 en Tiempo de ejecución... Este Error lo está dando en el FrmRetenciones (cuando se va a Cargar). Dicho Formulario prácticamente lo hizo el profesor Antoni a solicitud de una ayuda de mi parte. Trabajaba perfecto hasta hoy, que traté de hacerle una modificación al Sistema, porque necesito que las cuentas que Agregue al Clasificador General (FrmACuenta) en el Rango de las 460 001 a la 460 007 me las imprima en la HojaBase (E28) y en la Hoja Comprobante1 (A16). Estuve revisando y no me doy cuenta de dónde está el error. Por…
-
0
Reacciones de usuarios
- 5 respuestas
- 3.2k visitas
- 2 seguidores
-
-
Buenas noches a todos, cuento con una macro que funciona muy bien, basicamente lo que hace es rellenar notas de estudiantes a una pagina web, situada en un boton, la cual va tomando sus valores de un textbox3 y combobox1. entonces al escoger el numero de estudiantes en una lista de 1 a 45 situada en el combobox1, la macro comienza su funcionamiento y rellena la nota en la pagina web. ahora la pregunta es: ¿Como hacer para que una vez escogido el numero 1 en el combobox1 y terminada su ejecucion, pase automaticamente al numero 2 de la lista, hasta el numero final establecido en la celda "AO1", de la hoja "Sigep"? la macro es la siguiente On Error Resu…
-
0
Reacciones de usuarios
- 2 respuestas
- 606 visitas
- 1 seguidor
-
-
Hola chicos, llevo dándole vueltas a un asunto un tiempo y no sé cómo resolverlo, a pesar de que tengo el manual de Sergio sobre VBA y me he leído y releído el capítulo sobre el tema muchas veces, y de buscar por internet y no he encontrado nada. Finalmente, voy a recurrir a vosotros, sabios de VBA y de Excel, para que me echéis un cable, y me ayudéis, que seguro que con vuestros conocimientos podréis hacerlo. Gracias de antemano. El tema es el siguiente: Se refiere a un menú contextual integrado en Excel, y concretamente el que surge de la barra de títulos, arriba del todo. Quiero deshabilitarlo en su totalidad, o en su defecto, deshabilitar la primera opció…
-
0
Reacciones de usuarios
- 3 respuestas
- 999 visitas
- 2 seguidores
-
-
Soy nuevo utilizando VBA y buscando en los foros logré crear una Macro para mostrar algunos resultados. Supongo que necesitan saber qué hace pero no sé como explicarlo! ? Tengo dos hojas una de nombre Ticket y otra con nombre Hoja1 En ticket debe mostrar la fecha actual en la celda C3 , la Hora actual en la celda D3 y un numero (serie) que aumenta en 1 según el valor de la celda D2 de la hoja1 esta información se guarda como valores en la fila 2 de la Hoja1. Luego ingresando el número de serie en la celda B9 de la hoja Ticket, lo busca y muestra la Hora (guardada anteriormente) en la celda C9, resta la fecha actual (Now) con la celda C9 y lo muest…
-
0
Reacciones de usuarios
- 1 respuesta
- 818 visitas
- 1 seguidor
-
-
Buenas tardes colegas. Son mis deseos que se encuentren bien de salud. Tengo un problema y me gustaría que me ayudaran dentro de sus posibilidades. Es sobre el Sistema de Ordenes de trabajo que algunos de ustedes me han ayudado a conformar. El Sistema recoge el total de las Ordenes de Trabajo que se ejecutan y se toman una serie de datos. Todo está funcionando bien, pero se me presenta un problema. En una misma Orden pueden haber dos o más Operario y en esos casos habría que hacer tantas veces como operario exista la misma Orden. Voy a explicarme de una mejor manera: Ejemplo: En la orden 75145 se pasan los datos a cada uno de los campos que se solicita, per…
-
0
Reacciones de usuarios
- 5 respuestas
- 717 visitas
- 2 seguidores
-
-
buenas tardes, preciso de vuestra ayuda. adjunto fichero con una lista desplegable de provincias, necesito que al seleccionar Baleares se abra un formulario preguntando si corresponde a Ibiza siendo la respuesta mediante dos botones de opcion Si/NO o tambien me valdria un msg box con las respuestas SI/NO . muchas gracias! userform_msgbox.xlsx
-
0
Reacciones de usuarios
- 5 respuestas
- 824 visitas
- 3 seguidores
-
-
Hola intento aplicar esta fórmula donde el código es una columna que puede variar y wnumero también es otra columna que puede varias, sin importar el orden en que ingresé estas dos variables en la fórmula sumifs, la fórmula aparece no con el rango B15 sino con el rango $b414. O si ingreso A14 aparece la fórmula con $a$415.. .alguien sabe porque ?... Sub fórmula () Dim celda as range Dim pnum as range Application.screenupdating =false With sheets ("reporte") For each celda un .range (.range ("b14"),.range ("b14"). End (xldown) For each celda un .range (.range ("a14"),.range ("a14"). End (xldown) Cel…
-
0
Reacciones de usuarios
- 4 respuestas
- 790 visitas
-
-
Buenos días, En el archivo adjunto tengo un listview que en las columnas respectivas C, F que corresponden a los € necesito que se muestren en el listview los importes con dos decimales. ¿Alguien me podría ayudar a definirlo?. He encontrado varias formas por internet pero ninguna soy capaz d e adaptarla a mi código... Muchas gracias de anteamano. BUSCADOR PRECIOS SUBCONTRATAS.xlsm
-
0
Reacciones de usuarios
- 2 respuestas
- 960 visitas
-
-
Buenas noches colegas. Espero se encuentren bien de salud. Ya retomé el trabajo de Control de Combustible y Mantenimiento que mi jefe me había pedido y que les comenté. Y también comencé con las “MOLESTIAS” a ustedes. Esta vez es para ver si en algún momento tienen un tiempo libre y me pueden ayudar. Varias son las dudas, pero quiero ir poco a poco para que ustedes puedan ayudarme en la medida de lo posible. A ver; el Proyecto aun no está terminado, me faltan algunos elementos de carácter técnicos sobre la manipulación del Transporte y el control de combustible que esta semana debo aclarar porque tengo una cita con mi Jefe y la persona que va a man…
-
0
Reacciones de usuarios
- 15 respuestas
- 924 visitas
- 2 seguidores
-
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.