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 tardes, tengo una macro copiada de un ejemplo que funciona perfectamente. Usa un formulario para capturar datos a una hoja. El problema está cuando convierto el rango normal en una tabla. Aquí ya no me numera la columna A y se desplaza al final de la tabla. Agradecería me echasen una mano. Adjunto envío archivo. prueba.xlsm
-
0
Reacciones de usuarios
- 5 respuestas
- 728 visitas
- 3 seguidores
-
-
Buenas tengo una macro que cambia los nombres de las fotos que guardo en un archivo lo que quisiera es poder agregarle a la foto un numero visible ya sea en la misma foto o en un marco se puede hacer?
-
0
Reacciones de usuarios
- 0 respuestas
- 665 visitas
-
-
buen dia estoy iniciando una empresa de enmarcados, he trabajado intensamente en la elaboracion de la factura y casi la tengo terminada, pero no tengo manera de guardar cada factura de cada cliente que he atendido sino que lo que he hecho es que en el mismo libro he ido guardando varias hojas cambiando el nombre segun lo requiero, otro problemita es que no se como hacer el boton de conteo de dichas facturas para que cada vez que la abra me aparezca el numero que seguiria, muchas gracias
-
0
Reacciones de usuarios
- 3 respuestas
- 1.3k visitas
-
-
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.1k visitas
- 1 seguidor
-
-
Tengo archivos con información variable que puede ocupar más de una hoja de trabajo (1, 2, 3,...). Mediante una macro necesito lo siguiente: 1.- El número de filas (registros) que tiene cada archivo (uno a la vez) 2.- Obtener algunos indicadores estadísticos como la media, desviación estandard, el valor mínimo, el valor máximo de todos los datos (trabajado sobre un campo numérico específico) 3.- Mediante la generación de números aleatorios, recuperar la información del registro que corresponda a cada número aleatorio que se obtenga. Aunque sé que Excel no es la herramienta idónea para este tipo de problemas, la verdad es que no se cuenta con otra aplicación. Agradece…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.7k visitas
-
-
muy buen dia antes que nada les agradezco me pudieran ayudar con esta situacion para ver que me sugieren. Se trata de lo siguiente: tengo un formulario que genera un numero concecutivo (id) automaticamente pero resulta que el numero id esta relacionado con un numero de registro que el usuario da. cuando el numero consecutivo es negativo mantiene su continuidad, pero si es positivo, se rompe la continuidad y el usuario captura algo como esto 31232/2004 2342313 que se supone es un numero que se le dio en otro año y resultó ser positivo a la hora de buscar en los registros. ¿como puedo hacer que el numero concecutivo se interrumpa cuando el usuario quiera para que se reg…
-
0
Reacciones de usuarios
- 8 respuestas
- 1.1k visitas
-
-
Buenas tardes; Por favor, ayuda...... Hasta este año no he tenido problemas con el número de semana en las macros que tengo hechas, digo hasta este año porque hoy al actualizar y meter los datos del año que viene .....? No sale el número de semana que tendría que salir. El número de semana le estoy sacando de la siguiente forma: día="01/01/2021" Numero_semana=format(format(día,"ww"),"0#") El número de semana resultante debería de ser 53 pero me está dando 01. Como puedo solucionarlo. Estoy con el móvil, si necesitais el Excel con el ejemplo enciendo el ordenador y lo subo. Muchísimas gracias.
-
0
Reacciones de usuarios
- 2 respuestas
- 3k visitas
-
-
Hola A todos Espero estén muy bien. Recurro una vez mas a uds con lo siguiente: Para calculo de día semana del mes, buscando encontré lo siguiente: =NUM.DE.SEMANA(B2;2)-NUM.DE.SEMANA(FIN.MES(B2;-1)+1;2)+1 Siendo B2, la celda que contiene la fecha. Ahora mi tema es que quiero obtener el resultado dado por esta función en vba. Adjunto un pequeño ejemplo. Saludos Cordiales Pedro ejemplo.xlsm
-
0
Reacciones de usuarios
- 18 respuestas
- 12.3k visitas
- 1 seguidor
-
-
Hola! Exelente foro, tengo un problema ya que no puedo correr el bucle, bueno explico lo que quiero hacer, tengo varias columnas y de las cuales cada fila cuenta con un valor diferente, en una nueva columna se debe sacar el numero mayor de cada fila, despuès de eso en otra columna se debe hacer con un bucle la resta del numero mayor con cada una de las columnas y cada que sea 0 asignar un nombre, pero me sale el error 1004. este es el codigo: f = 1 For Each o In Range("R2:R6362").Cells Nombre = "" b = 0 f = f + 1 For porce = 0 To 7 Set a = Worksheets("ejemplos").Cells(f, porce) a = a + 1 If (o = 0) Then o.Value = "Sin datos" Nombre = o.Value End If If (o.Va…
-
0
Reacciones de usuarios
- 1 respuesta
- 2.5k visitas
-
-
Hola estimados amigos tengo la necesidad de generar un numero serial no repetitivo para ponerle como Id de algunos documentos que necesito guardar y lo quisiera hacer por medio de la fecha hora minutos y segundos para que por medio de ellos no quede la posibilidad de que se genere algún repetido el macro que estoy aplicando es el siguiente: range("a1")= Left((Now * 24 * 10000000), 10)[/CODE] pero quisiera saber si lo estoy haciendo bien o si al alguna otra manera de poder hacerlo para que no se repita dicho numero, una cosa importantes es que no quiero punto decimal entre ellos. saludos y desde ya muchas gracias
-
0
Reacciones de usuarios
- 0 respuestas
- 597 visitas
-
-
Hola : Encontré esta macro en internet que funciona bien pero deseo modificarla para que no me repita los números cada 6 celdas. Alguien me puede ayudar ? Gracias Sub Saca10alAzar() x = 6 Randomize For i = 5 To 43 Range("B" + Trim(Str(i))).Value = Int((x * Rnd()) + 1) Next End Sub
-
0
Reacciones de usuarios
- 4 respuestas
- 2.7k visitas
-
-
Hola, Ante todo felices fiestas y año nuevo, Siguiendo con mi proyecto vuelvo a encallarme, necesito que una de las celdas (G3) de mi hoja1 cambie la numeración cada vez que guardo con un botón que he creado, ahora tengo esto: Hoja1.Range("G3").Value = Hoja1.Range("G3").Value + 1 Hace lo que quiero pero mi intención es poner letras antes de la numeración por lo que necesito que en lugar de ser consecutivo 1,2,3,4 etc. Sea FS1, FS2, FS3, FS4, etc.. una ayudita por favor
-
0
Reacciones de usuarios
- 3 respuestas
- 626 visitas
- 1 seguidor
-
-
Necesito crear un programa para mostrar los números primos inferiores a un número siendo N un número entero positivo mayor que uno. Implementar el programa en un USERFORM que vaya colocando los resultados de los numeros primos en el excel en columna, a partir de una celda seleccionada por el usuario. Se debe colocar un boton en la hoja que llame a la .Por ejemplo, los números primos menores que 50 son: 2, 3, 5, 7, 19, 23, 29, 31, 37, 41, 43. Si N=50, el programa debería imprimirlos en columna a partir de la celda seleccionada. Un procedimiento clásico para hallar todos los números primos menores que un entero positivo es la llamada criba de Eratóstenes. Lo que se hace…
-
0
Reacciones de usuarios
- 4 respuestas
- 5.4k visitas
-
-
Al intentar acceder a páginas https de google como el correo o a paginas de youtube, el objeto IE cambia y no puedo acceder a la colección de elementos HTML usando las típicas sentencias: For Each p In IE.document.all For Each r In IE.GetElementsByTagName(TagName)[/CODE] Al parecer es un plugin de google llamado Google Chrome FrameChromeFrame BHO, según Esta Pagina, cito: Dicho plugin lo instalé por que youtube me insistió encarecidamente que o lo instalaba o perderia muchas funcionalidades de la nueva interfaz. Un acelerador de páginas que cuando está activado, el objeto se muestra sin apenas opciones ni muestra colección de elementos HTML, adjunto 2 im…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.1k visitas
-
-
Buenas a todos, Soy nuevo en el foro, tengo el siguiente código que me funciona perfectamente en versiones anteriores a Excel 2010 (para hacer login en una página web, no puedo indicarla por razones de seguridad), sin embargo, soy incapaz de hacer que funcione para esta versión de office. Más concretamente me da error cuando entra en "ie.Document", ¿alguien me podría decir cómo hacer que funcione? Código: Private Sub WEB_Click() Dim ie As Object Dim login_name Dim password Set ie = CreateObject("InternetExplorer.Application") With ie .Navigate "**URL**" .Visible = 1 Do While ie.Busy Loop End With Do While ie.Busy Loop With ie.Document DoEvents Applicat…
-
0
Reacciones de usuarios
- 0 respuestas
- 1.3k visitas
-
-
Saludos mis expertos, con la siguiente cuestión. En una hoja tengo varios objetos lo que quiero es pasar estos objetos a un userform para que estén disponible en cualquier momento. ___de antemano muchas gracias.
-
0
Reacciones de usuarios
- 1 respuesta
- 859 visitas
-
-
¡Buenas noches a todos los miembros del Foro!!! Retorno después de cierto período de inactividad por exceso de trabajo. Estoy retomando la elaboración de un archivo, para el cual necesito que se completen todas las celdas correspondientes a una fila, antes de iniciar otra. Actualmente este control se logra a través de Validación de Datos, pero el inconveniente es el siguiente: cuando los usuarios requieren adicionar líneas y copian con el "punto de control" hacia abajo, muchas veces el rango indicado en la fórmula se corrompe y se han presentado múltiples problemas.... Quisiera, por favor me ayudaran a lograr a controlar que inicien una fila nueva, sólo antes…
-
0
Reacciones de usuarios
- 3 respuestas
- 772 visitas
-
-
Obligar al Usuario a llenar Textbox o Combobox hola buenos dias a todos, tengo una duda, intento validar un textbox para que se obligue al usuario a llenarlo con cierta cantidad de caracteres (las que yo decida) o si esta vacio tambien lo obligue una vez que el foco se haya puesto en él. En el archivo de muestra intento validar eso pero no lo logro completar ojala este dentro de su valioso tiempo porderme ayudar a este ejemplo. Gracias validartextboxparallenado.xls
-
0
Reacciones de usuarios
- 3 respuestas
- 1.5k visitas
-
-
Buenas, Me han recomendado esta página ya que me comentan que hay gente con muy buenas soluciones y fáciles de ejecutar. La verdad es que tengo un apuro. Soy delineante y de VBA no tengo casi nada de conocimientos, he tenido que realizar un archivo excel con unos cálculos que sólo son válidos hasta final de año ya que hay ciertas normas y aplicaciones que cambian. Se que es una pregunta muy frecuente y estarán cansados de contestarla, pero yo no me aclaro con lo que he leído he intentado de ejecutar. Tengo un excel "xlsm" al que necesito que se habiliten obligatoriamente las MACROS para que actúe una serie de MACROS de cálculos y una fecha de caducidad fijada en el …
-
0
Reacciones de usuarios
- 5 respuestas
- 1.1k visitas
-
-
cordial saludo, señores, en la empresa donde laboro tengo que enviar todos los días los lotes de producción, lo que quisiera aprender es que cada vez que se crea una hoja del día quisiera que tomara las mismas observaciones si la orden es igual del día anterior. les agradezco su acostumbrada colaboración. gracias. lotes 2016.zip
-
0
Reacciones de usuarios
- 1 respuesta
- 800 visitas
-
-
Hola, La duda que me surge, es como hacer para obtener 2 valores de un modulo. Os dejo el programa del modulo que es un max si 2 condicionantes. La idea es ademas de obtener el valor maximo es obtener numero de contador para saber de que celda lo ha obtenido. He probado declarando la variable columna como publica y o no lo he echo bien o no ha funcionado. Alguna idea??? Function MAXIF2(RngMaximos As Range, RngCriterios As Range, Criterio As Variant, RngCriterios2 As Range, Criterio2 As Variant) As Double Dim c As Range Dim Max As Double Max = 0 counter = 1 For Each c In RngMaximos If RngCriterios(counter) = Criterio And RngCriterios2(counter) …
-
0
Reacciones de usuarios
- 12 respuestas
- 2k visitas
-
-
Estimados, favor su ayuda. resulta que mediante ado accedo a un servidor y una base de datos especifica, pero por un codigo accedo a un procedimiento de la base de datos, entonces desconosco las tablas a las que hace referencia dicho procedimiento, y no logro realizar bien la consulta para obtener el codigo del procedimiento, uso la siguiente forma: "exec sp_helptext " & "'" & "[nombre de base de datos].DBO.[nombre de procedimiento]" & "'" [/CODE] pero no me resutla o nose si lo escribo bien, y ademas nose como rescatar la respuesta y como tratarla en el excel. saludos y gracias
-
0
Reacciones de usuarios
- 0 respuestas
- 568 visitas
-
-
Hola amigos capos de la programación: En primer lugar felices fiestas y muchas bendiciones. En segundo lugar viene lo bueno, miren les adjunto mi archivo de excel, donde estuve aplicando las enseñanzas de Cacho R., pero me encuentro con un problemita, en realidad no se si es problema pero si quisiera saber si se puede hacer. En el archivo especifico lo que quisiera hacer. Les explico yo tengo una macro que a travez de un formulario ingreso datos, al momento de consultar los datos, se abre una ventana de internet explorer con el resultado, que es un codigo, yo quisiera saber si es posible extraer ese codigo a una celda de excel sin abrir el internet explorer, saber si e…
-
0
Reacciones de usuarios
- 4 respuestas
- 1.2k visitas
-
-
Obtener datos desde Access con Excel VBA - Macros Buen día, Tengo una base datos en Access con las siguientes tablas: Almacén, Vendedor y Ventas. Y en Excel una especie de factura con la el numero de la factura, el vendedor, el producto, el precio de cada producto y el total de la venta. En el Excel debo colocar el código del producto y obtener el nombre y precio de dicho producto que esta en access. Los datos del Excel deben actualizar los productos que están en la tabla almacén después de la venta. (Cuantos me quedan después de la venta). Al mismo tiempo actualizar la venta de cada vendedor (tabla vendedor), y así obtener cuanto vendió hasta un fecha cualquiera. …
-
0
Reacciones de usuarios
- 0 respuestas
- 1.4k visitas
-
-
Buenas, Este es mi primer post, no estoy muy puesto en el mundo de excel por lo que pido disculpas si resulto muy torpe. Tengo una excel (Office 2003) que toma datos de una página web cada 60 minutos, dicha web, tiene un sistema de logueo. Esto no me supone mucho problema, ya que con vba, mas o menos, logro conectarme y obtener los datos que me interesan. El problema aparece al pasar un tiempo, que la sesión caduca y deja de actualizar. He observado que el id de sesión se pasa en la URL y cuando esta caduca (cada 24 horas) el id ya no vale. Al reconectar, el id ha cambiado, por lo que me es imposible referenciar mi excel a la dirección que quiero ya que e…
-
0
Reacciones de usuarios
- 13 respuestas
- 9.9k 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.