Saltar al contenido

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?

  1. Hola gente del foro AyudaExcel Escribo este post para solicitar su apoyo con la adaptación de este código VBA, Trasfondo: Excel tiene la funcion incorporada de filtrar dentro de una tabla o rango de datos por el valor de la celda seleccionada. El problema es que esto solo es posible para una sola celda seleccionada. La idea es conseguir la misma funcionalidad de filtro pero tomando como parámetro mas de una celda. Adjunto lo que tengo al día de hoy. Este codigo VBA puede filtrar por varias celdas en diferentes columnas pero al mismo nivel de fila: El VBA filtra por ejemplo por "A1:C1" los valores que aparezcan en estas filas son los que se utilizan par…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 7k visitas
  2. Started by isidrod,

    Buena tarde disculpe las molestias hoy 31 de Agosto 2022, abrí una macros cualquiera para trabajar y me sale este mensaje, no se puede ejecutar esta macros " nombre del archivo" pueda que la macros no este disponible en este libro o que se hayan deshabilitado todas las macros. Esta activado la opcion "Habilitar todas la macros ( no recomendados; puede ejecutarse códigos posiblemente peligroso Si alguien sabe como solucionarlo estaré muy agradecido con este foro que en anteriores consulta se han resuelto Mil gracias saludos

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 7k visitas
    • 2 seguidores
  3. tengo un problema al momento de querer editar un dato en mi hoja de excel al ejecutar el boton de modificar me manda error 91 variable de objeto o bloque with no establecido ya le busque y no le encuentro adjunto el archivo el problema es el la pestaña AUSENCIAS espero me logren ayudar gracias!!!! Private Sub BtnEditarAUS_Click() Dim Rango As Range Dim NuevaFila As Long Dim Valor As String ' lo puse como string por que el dato de la columna A es 1-1 Dim mensaje As String mensaje = MsgBox("ESTAS SEGURO DE EDITAR LOS DATOS", vbQuestion + vbYesNo, "EDITAR DATOS") If mensaje = vbYes Then Set Rango = ThisWorkbook.Sheets("BASE.AUS.").Range("A1…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 7k visitas
    • 1 seguidor
  4. Estimados, Tengo una formula y dicho resultado se muestra en el textbox de "total" pero no logro hacer que el resultado se actualice cada vez que cambian los datos del los textbox que contienen la información para el calculo. Private Sub TextBox11_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Me.TextBox14.Text = Sheets("PLANTILLA").Range("K19") If TextBox4 <> "" Or TextBox5 <> "" Or TextBox6 <> "" Then Me.TextBox11.Text = Val(Me.TextBox4.Text) + Val(Me.TextBox5.Text) + Val(Me.TextBox6.Text) Else MsgBox "Ingrese Distribución", vbExclamation, "Mensaje CCM" End If End Sub Entonces necesito que el valor de Me.TextBox1…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 7k visitas
    • 1 seguidor
  5. Buenos días, Tengo un problema que no se resolver y me gustaría saber si alguien puede ayudarme con la solución. Tengo una macro para insertar imágenes, la macro funciona correctamente pero inserta las imágenes vinculadas. Al enviar el fichero por email las imágenes desaparecen. Me gustaría poder modificar la macro para que inserte la imagen rompiendo el vínculo con el fichero origen. He averiguado que para conseguirlo necesito usar el método Shapes.Addpicture, pero no se como hacer las modificaciones en la macro. Podría alguien ayudarme? GRACIAS!!!! Esta es la macro: Sub BorrarImagenes() ''Esta función recorre todas las imagenes del libro activo y las borra. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 7k visitas
  6. Started by IvánExcel,

    Buenos días, no he conseguido encontrar algo sencillo que me resuelva el problema y por eso os escribo. Quiero una macro que abra una página web y me copie el código html en una celda para después trabajar con él para obtener la información (ya tengo preparada otra macro sencilla que separa lo que necesito). Si no es mucho pedir... Tengo un listado con 20 url diferentes. Lo ideal sería que se conectara primero a una, copiara el código, luego a otra... Muchas gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 7k visitas
  7. Started by pepe1970,

    hola tengo una conexión a un servidor sql server y una planilla en excel con un formulario VBA, en el cual tengo textbox y combobox en total unos 20 mas o menos pero al momento de enviar la data cargada al servidor sql server, me da un error como si tuviera mas columnas para insertar que las declaradas, revise todo y para mi poco entender esta todo ok. si reduzco la cantidad de datos a enviar los inserta sin problemas en el servidor sql server es decir 10 datos uno por columna. pero si agrego aunque sea un dato mas (una columna mas me da error). les copio el scrip muchas gracias Private Sub CommandButton1_Click() Dim SQL As String Dim Connected …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 7k visitas
  8. Hola a todos, sigo con mis macros para simulaciones genéticas. La última que he escrito permite simular el cruce de dos poblaciones. Para ejecutarse necesita que el usuario proporcione información (elegir de entre las poblaciones creadas cuáles son las dos poblaciones a cruzar, cuántos descendientes de cada genotipo se quieren obtener y cómo se va a llamar la nueva población). A parte, se deben de hacer dos comprobaciones previas a la ejecución de la macro (que las dos poblaciones a cruzar tengan el mismo número de genotipos y que no se elija por error dos veces la misma población). Creo que lo más adecuado es utilizar un UserForm para recabar esta información del us…

    • 0

      Reacciones de usuarios

    • 30 respuestas
    • 7k visitas
    • 1 seguidor
  9. Started by xinortiz,

    Buenas tardes, tengo un formulario con un listbox que muestra datos de otro libro, también tiene un botón modificar, eliminar, pero me falta agregar un buscador, lo he intentado hacer pero me sale error, necesito de su ayuda, espero me pueda ayudar de antemano muchas gracias baseprueba.xlsx InicioPrueba.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 6.9k visitas
    • 1 seguidor
  10. Started by exskizzo,

    Buenas a todos. Antes que nada quiero agradecerles a todos por tomarse el tiempo de leer mi duda. Tengo un formulario que se llama "Avios" dentro del cual tengo dos textbox(TextBox1 Fecha de recepcion, TextBox2 Fecha de entrega)y quiero que cuando el le de un click al TextBox1 me despliegue el calendario que encontre dentro del foro(Calendario diseñado por Maestro MacroAntonio), selecciono la fecha y me la coloque en la primer celda vacia de la columna("B") y el TextBox2 de igual manera solo que en este me coloque la fecha en la columna ("L"). Lo he intentado pero me da un error con el formulario modal. Gracias y estoy en espera de su ayuda Fechas.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 6.9k visitas
  11. Started by Leonardo Briceño,

    Hola buenos días amigos de AE. Una consulta. tengo una macro que sirve para buscar hojas en un archivo. El código permite poner parte del nombre de la hoja y hace la búsqueda, pero me gustaría que NO respetara mayúscula o minúsculas. Por ejemplo en el archivo hay una ROJO, si coloco el nombre tal cual la encuentra pero si coloco rojo o Rojo no la encuentra. Se podrá lograr lo planteado? Gracias!!! BUSCAR NOMBRE DE HOJA.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.9k visitas
  12. Buenos días: Dispongo de un libro con dos hojas. Una de ellas con nombre "Data" y la otra con nombre "Data processing".hoja data En la hoja "Data" tengo 6 columnas con los siguientes datos: A (fecha), B (horas), C (irradiación), D (Temperatura), E (humedad) y en F (Viento). En la celda G1 me gustaría colocar la fecha de inicio (por ejemplo, 01/03/2012 00:10) y en la celda G2 la fecha final (por ejemplo, 01/07/2012 14:10). El objetivo de esta macro quiero que sea la de que copie los datos desde la fecha de inicio hasta la fecha final y que los coloque en la hoja "data processing". Con mis limitados conocimientos de programación VBA solo alcanzo a realizar la copia d…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 6.9k visitas
  13. Buenas noches: Tengo un formulario (formulario 1) donde tengo los datos de los usuarios (nombre y apellidos, documento de identidad, dirección, teléfono, etc). Y he creado otro formulario (formulario 2) donde tengo que introducir los datos de los miembros de la unidad de convivencia de ese usuario (cónyuge, hijos, etc). En el formulario 1 he creado un botón de comando para llamar al formulario 2. Pero hay que unirlo a través de un campo común (yo había pensado en un id). El problema es que no sé como enlazar ambos formularios Si se tratara de un Access sería como si se creara un formulario con un subformulario y existiera una relación entre ambos... No…

    • 0

      Reacciones de usuarios

    • 20 respuestas
    • 6.9k visitas
    • 2 seguidores
  14. Started by halvarado1,

    Hola usuarios de AyudaExcel, ya en el sector de Excel en General habia abierto un nuevo tenahttps://www.ayudaexcel.com/foro/threads/ayuda-para-generar-reporte-de-una-hoja-excel.36897/ ayer por la tarde encontre una macros "indico el enlace http://www.todoexcel.com/foro-excel/macros/imprimir-con-subtotales-van-vienen-t16042.html" en que me genera un subtotal pero tengo el problema que da un sub total entre el titulo de impresion y area de impresion el archivo del problema y ejemplo dejo el link https://mega.co.nz/#!pxlz1Q6Z!s-ECzwMUxItTzrs5qJhg2cvPE97JFk3HdhnLYwaskuk si me pueden ayudar que la macros me genere este TOTAL PARCIALES y TOTAL GENERAL dejo una imagen de e…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.9k visitas
  15. Buenos dias estimados compañeros. Estoy necesitando ayuda para poder hacer una hoja excel en donde el objetivo de esta hoja sea que pueda medir la distancia entre códigos postales... No soy conocedor hasta ese nivel de como hacerlo, pero se que se puede usar una api de google y realizar consultas. La idea es por ejemplo A1= 28001 A2= 45001 A3= 89,7 Km Por ejemplo esto seria lo que necesito. Espero que si alguien ya se encontró con esta necesidad si me puede echar una mano estaría muy agradecido. Gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 6.9k visitas
  16. Started by Benito Bartolomé,

    Buen día a todo el foro. A ver si me hago entender y me pueden ayudar. -He adjuntado una macro que básicamente lo que hace es pegar en un libro el rango de datos que he seleccionado previamente en un libro auxiliar. -La macro pega los datos en un determinado rango con su encabezado los valores, posteriormente copia los datos sin sus encabezados en una tabla "Tabla5", borrando los datos pegados. Hasta este punto mas o menos bien. -Lo que quería conseguir, de ahí me consulta es lo siguiente: Poder hacer mas selecciones en el libro Auxiliar y que vaya pegando en la tabla "Tabla5" los datos a partir de la última fila con datos. Buenos días a to…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 6.9k visitas
    • 1 seguidor
  17. Necesito ayuda con esta macro. Estoy empezando en esto de la programacion vba y no estoy muy ducho. No consigo resolver el error que me da el mensaje. Estoy trabajando con una hoja de excel con la finalidad de exportar datos de una web de empleo americana a excel categorizando ciertas informaciones en dos columnas. La hoja tiene dos módulos. Al ejecutar la macro aparece un mensaje en relación con el modulo 1 donde se dice "error de compilación el procedimiento externo no es valido ". A continuación se subraya en el código la línea Columns("A:D").Select. Aqui adjunto el código de módulo 1 ------------------------- ' Macro1 Macro ' formatting imported data ' ' Col…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.9k visitas
  18. Started by saraiba,

    Hola, Tengo una macro en la que hay el siguiente código Range("Z60") = InputBox("fecha 1º vto.") Al ejecutar la macro, cuando me pregunta, escribo por ejemplo 1/5 para que salga el dia 01-may-2012 lo que escribe es 05-ene-2012. O lo que es lo mismo entiende que primero escribo el mes y después el día. Mi pregunta es la siguiente: ¿Como modifico el código para que ponga bien la fecha? ya que el formato de la celda Z60 está correcto (dd-mmm-aa). Como siempre gracias de antemano.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.9k visitas
  19. COMO SE PUEDE BLOQUEAR LOS BOTONES DE MAXIMIZAR Y MINIMIZAR EN EXCEL CON UNA MACRO

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 6.9k visitas
  20. Started by KAITEKI,

    Buenos días. Soy nuevo en el foro (ya me pasé por el correspondiente hilo de presentaciones) y llevo varios días dándole vueltas a una hoja que estoy haciendo y no consigo hacer lo que quiero. Adjunto una hoja muy sencilla (resumen de una más complicada) y que básicamente consiste en que excel comience a cantar en voz alta una serie de números, del 1 al 10. El problema que me surge es que no consigo parar la ejecución del código mediente métodos normales, es decir, mediante algún boton de "pausa" y otro de "reanudación", sí se para mediante "Esc", pero no me permite reanudarlo después. Si pulso "Escape", sale el cuadro de aviso de que se ha producido el err…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 6.8k visitas
  21. Started by bartarg,

    Hola, esta es mi primer consulta y trataré de ser claro y conciso: Tengo 6000 archivos excel. Cada archivo contiene un libro y una hoja con datos. Cada hoja contiene dos columnas, en las que hay números enteros o con dos o más decimales Los datos están en A2 y B2 en adelante, ya que en la fila 1 están los encabezados de ambas columnas Esos 6000 archivos se están cargando nuevamente porque mi cliente pidió que hagamos graboverificación. La tarea es comparar todos los archivos y saber en qué celdas hay diferencias. No importa cuál es la diferencia, sino sólo saber en qué celdas los datos no son exactos. De ese modo, resolveremos manualmente las incidencias. Los 6000 a…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 6.8k visitas
  22. Hola, soy Andrea y este año he aprendido un poco de vba, he avanzado bastante sin embargo hoy me encuentro algo detenida por un error que me genera la macros que he hecho.. he indagado en varios sitios y no he encontrado solución al error, he implementado 2 formas y no he conseguido nada. La macro se trata de reemplazar datos que están definidos en otra hoja y se reemplazan en un plantilla word, hasta ahí todo bien.. pero es necesario que sea lo mas automatizado posible por ende intento que se guarde en una carpeta especifica, y bueno se guardan pero al intentar abrir el archivo da error, se pega el notebook, todo deja de funcionar.. aveces me da el error 5174 ( Arc…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 6.8k visitas
  23. Hola, y de ante mano muchas gracias por vuestra ayuda excel ;-). Necesito una ayuda, por que esto trabajando en un libro y e incluido el siguiente instrucción, para que me busque un dato de otro libro. Set Rng = Workbooks("Seguimiento.xlsm").Sheets("Costes").Range("D4:F115") r = Application.WorksheetFunction.VLookup(antMatricula, Rng, 3, False) H.Range("J" & Fila) = Horas * r Pero únicamente me funciona si el libro ("Seguimiento.xlsm")esta abierto. Como puedo hacer para que busque el dato sin que el libro este abierto? Es decir trabajar con el libro cerrado. Muchas gracias y un saludo.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 6.8k visitas
  24. Started by Benito Bartolomé,

    Hola a todos; ¿Hay algún procedimiento o función que me convierta el numero de una columna a letra? Ejemplo: Private Sub btnColumna_Click() Dim tColumna As String Me.TextBox1 = 2 tColumna =Me.TextBox1 "??????" <-----Aquí me debería indicar la columna en formato texto End Sub Saludos y buen día a todos.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 6.8k visitas
  25. Buenas tardes tengo una base de datos y deseo que se visualize el ultimo codigo al momento de guardar la info, sabiendo que el tipo de dato en la base de datos es nvarchar como hago para que sea asi: Fact-0001,Fact -0002,Fact -0003,etc etc Set rst = New ADODB.Recordset rst.ActiveConnection = con rst.Source = "Select Max(Codigo_nota) As Maximo From Tabla" rst.Open If rst.Fields(0) > 0 Then For i = 1 To rst.Fields("Maximo") + 1 Next endif con.Close If Not rst Is Nothing Then Set rst = Nothing If Not con Is Nothing Then Set con = Nothing

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 6.8k 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.