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. Buenos dias, Tengo un problema con una macro que estoy haciendo. En ella lo que quiero es tratar datos de una lista de ciudades y que los copie y los pegue en otra hoja. Hasta aqui todo bien. El problema viene cuando quiero que se muestre un mensaje temporal (MsgBox). El objetivo de este mensaje es pour un lado indicar al usuario la ciudad/municipio que se esta tratando, y también sirve para que el ordenador haga una pausa y actualice los datos de una hoja. Aqui os subo dos ejemplos: Ciudades : En este caso, la macro es solo para mostrar los mensajes y normalmente desaparecen cada 5 segundos (como indicado en la macro). MacroIntento : Se trata de hacer lo mism…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.4k visitas
  2. Hola a todos! En esta oportunidad los molesto con un proyecto en el que estoy trabajando en el que necesitaría crear un buscador (A modo de formulario), que al encontrar el "Campo clave" o "Primary Key" me devuelva los demás campos que le corresponden cargado en un Formulario. Los pasos serían los siguientes: *Clickea en un botón *Abre el formulario de búsqueda *Carga el dato "Clave" y presiona en buscar *Devuelve todos los datos correspondientes a ese campo "Clave" o informa que no se encontró nada con ese nombre Ya tengo algo armado, pero realmente lo veo muy primitivo (Y funciona el 50% de las veces) y condicionado a mezclar el modelo de programación con el del…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.1k visitas
  3. Started by gabotopuro7,

    HOLA necesito ayuda, tengo un label y sobre el botones, y cuando clikeo el label se posiciona al frente, como hago para que al hacerle click al label no haga nada, saludos

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1k visitas
  4. Buenos dias, Soy nuevo en este sitio, y me gustaría pedirles ayuda ya que estoy bloqueado con un trabajo que tengo que realizar. Les comento a continuación: Tengo una base de datos que corresponde a todos los días del año para cada equipo. Me gustaría crear una userform que facilitase la introducción de los datos. La macro consta de una primera columna que corresponde a los equipos, una segunda a la fecha y posteriormente hay 24 columnas que corresponden a las fracciones horarias de un día. Lo único que quiero es que la userform me filtre en función del equipo, con un Combobox, introducir una fecha inicial y final, y en esa fracción de fechas a través de unos checkbox…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 630 visitas
  5. Started by tan178,

    Tengo un userform que me registra visitantes el cual tienen un textbox que lleva el consecutivo de la cantidad de visitas que ingresan ,los datos de la userform son ingresados al Sheets(registro de visitas) pero no e logrado que este textbox tome el ultimo dato registrado en la columna consecutivo y le sume 1 a la cantidad existente y este se refleje en el textbox al activar el formulario, el problema es que el rango siempre va hacer la ultima fila del libro con los datos y este va a variar con los nuevos registros . Sub Incrementar() Range(" ").Select ActiveCell.FormulaR1C1 = Range(" ").Value + 1 End Sub [/CODE]

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 10.3k visitas
  6. Started by Omar M.,

    Buenas!!! De nuevo acudiendo por ayuda, quisiera saber si existe alguna manera de que el formato que tiene una celda en una hoja de excel se vea reflejado en una macro VBA, por ejemplo: si una celda tiene el fondo de color amarillo y el texto de color rojo, al ejecutar la macro y busqué este dato se vea reflejado el mismo formato de color de fondo y color de texto

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.2k visitas
  7. Started by jmollan,

    Estimados Expertos. El archivo adjunto solo puede realizar consultas sql hasta la fila 65536, mi problema es que necesito ampliar las consultas hasta la fila 99999, cuando cambio el rango en el administrador de nombres y hago la consulta me arroja un error, agradeceré su ayuda para solucionar este problema. Saludos cordiales. EXCEL QUERY.zip

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.2k visitas
  8. Hol@ a todos, Tengo una base de datos de proveedores en Excel. En una de las columnas tengo puesta la fecha de última revisión (Última Rev) de los datos de cada proveedor. Cada fila contiene los datos de cada proveedor. Quería preguntaros si se os ocurre algo para que al modificar algún dato contenido en la fila del proveedor, automáticamente en la celda correspondiente a la columna fecha de Última Rev, al dar enter y salir de la celda, insertara la fecha de la última entrada de datos, que normalmente será HOY(), pero como dato no como función. Muchas gracias por adelantado y un saludo.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 794 visitas
  9. Started by Gustavo Florez,

    Buenos días para todos... Mi consulta es: Tengo un excel en donde esta conformado en la primera hoja una lista y n cantidad de hojas donde: n= personas que deben cumplir con ciertos criterios para pasar primera hoja= lista donde deben ir las personas que no cumplieron con ciertos criterios como mencione anteriormente en cada hoja se pone el nombre y cédula del individuo y se desglosa en los criterios que deben cumplir para pasar ejemplo: Experiencia certificada, realizacion de cursos etc... Cuando la persona no cumple con el requisito de terminar estudios se debe reportar en la lista (situada en la primera hoja) con su nombre y cédula... Realice una macro para que c…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.6k visitas
  10. hola resulta que cree esta funcion en un modulo Private Declare Function GetComputerName Lib "kernel32" _ Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function ReturnComputerName() As String Dim rString As String * 255, sLen As Long, tString As String tString = "" On Error Resume Next sLen = GetComputerName(rString, 255) sLen = InStr(1, rString, Chr(0)) If sLen > 0 Then tString = Left(rString, sLen - 1) Else tString = rString End If On Erro…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  11. Started by Wpb23,

    Buenos días, Aquí me encuentro de nuevo, pidiendo vuestra ayuda. Tengo que ordenar números de tal forma que recorra cada columna que tenga datos, los copie, y pegue los valores en una única columna. El código que estoy trabajando es el siguiente: Dim num As String num = 11 Windows("CopyPS_prueba.xlsm").Activate Rows("10:10").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ActiveSheet.Range("B11", ActiveSheet.Range("b11").End(xlDown)).Select Selection.Copy Windows("Libro1.xlsm").Activate Range("A1").Select ActiveSheet.Paste Windows("CopyPS_prueba.xlsm").Activate ActiveCell.Offset(0…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.4k visitas
  12. Started by johanna23,

    Estaba creando un from en excel para ingresar datos el problema es que no se como agregar dos filtros Tengo en una columna numero de folio con su respectivo detalle en la misma fila, el problema esq un documento puede tener registrado varias filas de un mismo folio y estas filas son ordenadas según el año que se especifica en la celda detalle para q despues puedan ser sumadas segun el numero del folio y el año No estoy muy segura de como hacer esto, ojala me puedan brindar algunas ideas

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.7k visitas
  13. Hola, buen día! Tengo un archivo Excel (el cual adjunto) que consiste en 4 columnas de datos con sus respectivas columnas con semáforos en tres colores (verde, rojo y amarillo), los cuales de definen en función de las condiciones establecidas en una tabla incluida dentro de la misma hoja de cálculo. Se me requiere añada un SEMÁFORO FINAL de tres colores (verde, rojo y amarillo), el cual se defina en función de los colores de los otros 4 semáforos, por ejemplo: Si en la fila 1 los valores de cada una de las 4 columnas cumplieron las condiciones para que sus semáforos sean todos verdes, en consecuencia, por lñas condiciones establecidas para el SEMÁFORO FINAL, éste será V…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 4.8k visitas
  14. Started by Ernestofp,

    Hola a todos, Tengo un archivo con macros que pesa mas de 37 mil kb, basicamente el modo en que la programé es por el grabador de macros y luego puliendo aquí y allá. Tengo la plena seguridad de que se puede hacer que las macros de mi archivo sean mas eficientes para que no pese tanto. Me parecío que en algun momento un amigo me decia que existe otra forma de trabajar las macros en excel, según el termino que empleó "por debajo" no estoy seguro la verdad. En todo caso en la medida de lo posible me gustaría que alguien me ayudara al respecto. Agradezco la deferencia.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  15. Started by Bcordero,

    Buenas Tardes Tengo un problema El archivo que tengo la fila 2 siempre esta vacia quiero eliminarla despues de eso ordenar la columna P de manera Acendente al momento de hacerlo con mi macros normalmente primero se tiene q eliminar la segunda Fila despues Ordenar pero cuando la ejecuto forma 2 filas en blanco despues de esas lo ordena la columna P no hace mas... aparte de ello el archivo es un BD que algunas veces cuando exporta los datos a un libro se distorcionan algunas celdas se identifico que es apartir de la celda P por eso depues de ordenar lo que se tiene que hacer es los 2 datos que distorcionan (P4:Q4) que deberia ser si todo funcionar bien (P2:Q2) eliminars…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  16. Buenos días a todos; Necesito que me ayuden como hacer para llenar una columna de excel extrayendo datos de una base de datos. Ejm. CODIGO DESCRIPCION 0121 Sueldo Basico 0909 Asignación Familiar 0506 Horas Extras .........Etc. las lista es larga es mas de 100 items En la hoja 1 tengo: A B C D TIPO DCTO NUMERO CODIGO MONTO 01 41189808 0121 1000.00 Quiero que en la celda C1 x decir me aparezca una lista con el cuadro de codigo y descripcion, que me permitta hacer busqueda digitando la iniciales de la descripción (reconozca caracteres) y al elegir por decir 0121 sueldo basico lo digite en c1 SOLO EL CODIGO (0121), para c2 hacia adelante previa elección. NOTA: A…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 591 visitas
  17. Started by laura murillo,

    Buenos días a todos, Espero me puedan ayudan con esta consulta. Encontré como realizar con una macro una suma de números clasificando según el color. Ahora quisiera como dice desde la columna K colocar no mas el texto de las celdas K4 y L4, y K12 y L12 y me pueda generar nombres y tiempo según el color, es decir solo si el nombre pertenece a algún color.Adjunto archivo. Atenta a su pronta respuesta, Laura Libro1.xls

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1.2k visitas
  18. Estimados Buscando encontré una macro para comparar dos Hojas de un archivo excel y generar otra hoja con las diferencias, la cual me ayuda en algo para lo que necesito. Sin embargo quisiera ver la posibilidad de que me puedan ayudar ampliando un poco más la misma. Las hojas de trabajo siempre tendrán las mismas columnas. Mi parametro de comparación serán los datos de la primera columna, pero entre hojas de trabajo no necesariamente estarán en la misma fila. Una vez que se encuentra la información de una celda de la primera columna de una hoja en cualquier fila de la primera columna de la otra, inicie una comparación columna a columna de la fila de esa hoja, con la f…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.8k visitas
  19. Hola a todos, Tengo un archivo que contiene macro para conciliación bancaria. Quisiera por favor que me digan como hago para eliminar ese mensaje "FECHA DE VCTO CADUCADO - 31.08.13". Si bien puedo trabajarlo cambiando la fecha de mi pc, pero eso me genera problema lo que quiero es que ya no salga ese mensaje. Mil gracias por la ayuda que me puedan brindar.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 891 visitas
  20. Hola, este es mi primer tema y adecir verdad se muy poco acerca de macros, quiero crear una alerta con correo de outlook para determinadas personas siempre, por el momento tengo una alerta de colores donde aplico la funcion =DAYS360(M5,N5,1)donde me salen la resta entre dos fechas, apartir de ahi aplico conditional formatting para que me colore las celas de que estan a 20 dias y ahi voy. Quiero que cada vez que llege a los 20 dias, envie un correo a unas personas especificas, que tenga como subject Recordatorios Predios, y que digamos que se marco de color O8 entonces que como cuerpo del mensaje envie desde el rango C8 hasta AE8 pero sin el O8..... Por Favor, es que re…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.4k visitas
  21. Invitado Jorge Mario Carballo
    Started by Invitado Jorge Mario Carballo ,

    Buenas tardes, Agradesco a todas las personas que colaboran en el foro para la mejora de muchas cosas, mi motivo es el siguiente, tengo unos datos filtrados, pero necesito de que el filtro zona dependa de lo que se escoja en la lista superior e igualmente con el alimentador, muchas gracias. ARCHIVO GABRIEL.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 760 visitas
  22. Started by superboy6969,

    Estimados: Como están, necesito saber si alguien de este foro sabe utilizar macros para extraer datos del programa MS project o viceversa, para ser más específico, necesito generar una macro para extraer del MS Project el "PV o CPTP" acumulado por corte de fecha (Ej. cada quincena o semanalmente, meses, etc.) y así con los datos extraidos construir una Curva S, se que hay una forma, he estado buscando por la web y no he encontrado nada, si alguien conoce acerca del tema, pasenme el dato. Saludos.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  23. Started by jhosmar84,

    Hola amigos del foro, tengo una consulta, como puedo hacer para que mi celda se ponga de color cuando los datos que están en las otras hojas no coincidan o se cambien. Tengo un libro con una hoja data y 03 hojas más, debería buscar el numero de serie en las otras hojas si lo encuentra que verifique que el nombre es igual, si el nombre es diferente debe de cambiar el formato de la celda, así saber que se modifico el dato en las hojas. adjunta archivo, gracias por su ayuda FORMATO CONDICIONAL.xls

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1k visitas
  24. Started by GloberoEliteUci,

    Buenas Tardes a todos : Lo primero gracias de antemano. Por mas que busco en temas anteriores no encuentro exactamente lo que necesito. Tengo una hoja excel con dos hojas. Una primera hoja llamada "Mail" donde tengo una serie de celdas que quiero utilizar como campos de busqueda (E4 = DNI, E6 = Numero Empleado, E8 = Nombre). Y con un boto buscar. El objetivo es que al pulsar ese boton "Buscar", vaya a la hoja "Datos" con esos criterios de busqueda (minimo uno informado y maximo los 4 ), donde tengo los datos en su estructura (Columna A = Nombre, Columna B = Apellidos, Columna C = DNI, Columna D = Numero de Empleado) y me recupere esos datos. Y me los copie en la hoja …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 699 visitas
  25. Started by flazaroc,

    Amigos foreros, buenos días. Necesito su ayuda con lo siguiente, tengo una macro que llena la hoja "032014" con los datos llenados en el hoja "Registro". Mi dificultad es la siguiente: Cuando hago el llenado de los datos en "Registro" estos automaticamente van a la fila 3 de la hoja "032014", lo que se requiere es que estos vayan a la fila 14 y con el correlativo correspondiente (como el ejemplo "modelo-final"). Otro dato adicional es que en "Registro" se coloque el periodo al que corresponde, es decir en este caso dice "03/2014" por lo tanto se graba en la hoja "032014", si quisieramos el periodo Abril sería 04/2014 y se tendria que crear una hoja nueva llamada "04201…

    • 0

      Reacciones de usuarios

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