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. Started by jues,

    Buenas noches estimados espero estén bien Dentro del Formulario VTL (frmvtl) estan los TextBox 16, 17, 18, 19, 20, 21, 22 los cuales necesito que cuando contengan un valor cualquiera la macro los tome como 1 (TextBox<>””=1) y cuando los TextBox estén vacíos la macro los tome como 0 (TextBox=””=0) seria como usar la Función Contar de Excel, siendo así y conforme al funcionamiento de la Macro Calculo en el TextBox23 en la medida que se van introduciendo los datos el conteo o suma debe reflejarse de manera automática y simultánea en los Textbox 25, 27, 28, 29, de la siguiente manera: TextBox25 = TextBox16 +TextBox17+TextBox18+TextBox19+TextBox20+TextBox21+Tex…

    • 2

      Reacciones de usuarios

    • 17 respuestas
    • 1.5k visitas
    • 2 seguidores
  2. Buenas necesitaría fusionar varias hojas cuyo nombre empiece por Seguimiento_ (sin fusionar las que estén ocultas aunque empiecen por ese nombre) y mostrar el resultado en una hoja que se llame Seguimiento_Anual, necesitaría que se ordenaran por la columna Cliente (de forma ascendente), por la columna Persona (de forma ascendente), por la columna Estado empezando por Enero, Febrero, Marzo y asi sucesivamente y por la columna Planificado (empezando por PLANIFICADO_Q1 y asi sucesivamente hasta el PLANIFICADOQ4. En caso de que ya exista la hoja Seguimiento_Anual que se actualicen los datos de esa hoja o bien se borre y se vuelva a crear. Gracias un saludo. Hay ya macros c…

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 402 visitas
    • 3 seguidores
  3. resulta que me es muy repetitivo copiar y pegar muchas de las actividades a diario y cambiar algunos que otros valores o informacion, el inconveniente es que son actividades variadas no para un solo vba sino para varios en mi poca experiencia que tengo con vba, entonces la pregunta es como puedo registrar este tipo de informacion usando vba o varios formularios quisiera que me puedan dar una idea porfavor para poder llevar toda esta informacion registrada. 6:00 Relevo de turno de seguridad en garita con prendas y consignas sin novedad. 6:05 Apaga Motores eco 1 con un nivel de reservorio 205/28 de combustib…

    • 1

      Reacciones de usuarios

    • 3 respuestas
    • 512 visitas
    • 4 seguidores
  4. Estimados Expertos buenas tardes: Estuve trabajando en una tabla dinámica que se actualiza mes a mes, según le indico en la segmentación de datos. Pero quisiera que se ejecute una macro al actualizar esta tabla dinámica, ¿con que evento puedo actualizarla? He usado el Evento Worksheet_SelectionChange(ByVal Target As Range) Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim NomBRE As Workbook, AUx As Integer If Not Intersect(Target, Range("R9")) Is Nothing Then AUx = ContarNPC(Month(Range("O3"))) Range("S9").FormulaR1C1 = "= " & [AUx] & " / R[3]C[1]" End If End Sub Pero a pesar que la celda R…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 551 visitas
    • 1 seguidor
  5. Started by jues,

    Buenas tardes amigos espero estén bien Modifique el frmcalendario para que solamente muestre los días Lunes de cada semana, bajo su configuración original resalta diariamente el fondo de los Label sin embargo necesito que resalte exclusivamente los Label (lb1, lb8, lb15, lb22, lb29, lb36) que correspondan al día Lunes de la semana que este en curso y por lo tanto el resaltado del Label en vez de cambiar a diario se haga semanalmente es decir, si hoy es Lunes 7 de Octubre se debería resaltar durante toda la Semana N° 41 el lb8 y el próximo lunes 14 se debería resaltar durante toda la Semana N° 42 el lb15 y asi sucesivamente. CALENDARIO PRUEBA.xlsm

    • 2

      Reacciones de usuarios

    • 2 respuestas
    • 474 visitas
    • 1 seguidor
  6. Hola Tengo un archivo con datos que me pasan, este tiene una numeración (columna D), pero luego tengo que agregar a estos mas datos y a su vez aumentar esta numeración, Lo que quisiera hacer en mi hoja, Buscar ultima celda con datos de la columna H, una vez ubicada bajar una fila y moverse 4 celdas a la izquierda. Y colocar mi numero aumentado según la ultima celda de antes de la columna D. En el ejemplo la ultima es 21. así que debería colocar el numero 22 o según sea el caso (Siempre aumentar más 1). esta numeración varia siempre. Muchas gracias Macro aumentar numeracion de columna.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 412 visitas
    • 2 seguidores
  7. Started by crengifo,

    Buenos días estimados compañeros. La presente tiene como finalidad me ayuden con el siguiente tema, tengo un formulario el cual registro los pendientes de una persona. El detalle que quiero y no he podido es que al ingresar un nuevo dependiente al guardar me valide por el textbox de identificación si esta duplicado. Agradezco sus comentarios. Saludos Adjunto el archivo. Base_ de_Datos.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 528 visitas
    • 2 seguidores
  8. Started by jues,

    Buenos noches amigos espero estén bien necesito descomponer una fecha en varios ítems y que estas porciones de fecha se reflejen en otros TextBox en concreto dependiendo de la fecha que se coloque en el TextBox4 necesito que: • Del Textbox9 al Textbox15 (Lunes a Domingo) deben reflejar de forma consecutiva el número (dd) del día correspondiente tomando como fecha inicial al Textbox5 • El Label17 debe estar concatenado con el Textbox6 FECHA EN VARIOS ÍTEMS PRUEBA.xlsm

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 349 visitas
    • 2 seguidores
  9. Hola todos agradezco de antemano cualquier gestión / ayuda tengo dos pestañas BBDD listado exportado de la ERP donde pueden cambiar los importes USUARIO listado histórico de BDD El código tiene que detectar por la columna del nº factura ( columna J ) y cuando detecte el mismo nº de factura que actualice los importes de acuerdo a la exportación ( BBDD ).....que mal me explico. Lo siento. Sub CORREGIRIMPORTES2() Dim i, j As Integer j = 3 ' DONDE EMPIEZA A ESCRIBIR For i = 3 To 10000 ' DONDE EMPIEZA A BUSCAR …

    • 1

      Reacciones de usuarios

    • 3 respuestas
    • 448 visitas
    • 2 seguidores
  10. Started by 96andres96,

    Buenas tardes, tengo una duda que me trae de cabeza y seguro tiene fácil solución, pero no consigo dar con ella. Pongo un ejemplo de código sencillo: Private Sub ejemplo_Click() Load userformexterno userformexterno.Show Msgbox("Hola") End Sub Tengo un userform en el que tengo un commandbutton, que en este caso es "ejemplo". A su vez tengo otro userform al que he llamado "userformexterno". Pues bien, lo que yo quiero es que al clicar en el commandbutton "ejemplo", se ejecute primero el userformexterno, y una vez que se haya ejecutado se muestre el mensaje "hola". Sin embargo, lo que me está ocurriendo es que cuando clico en el botó…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 472 visitas
    • 3 seguidores
  11. Started by dmslop,

    Buenos días compañeros. necesito de la ayuda de ustedes para configurar un combobox que esta ingresado en la hoja de excel (NO ES FORMULARIO) la funcion que deseo es que cuando ingrese texto en un combobox me busque las proximidades del texto ingresado (que lo busque en una columna predeterminada) ejemplo en la columna A tengo los siguientes datos. casa morada la casa remolacha morada sandia cuando ingrese la palabra morada en el combobox, el me desplegue los datos que contienen la frase MORADA es lo que necesito.. me podrian ayudar con algun codigo...

    • 1

      Reacciones de usuarios

    • 7 respuestas
    • 803 visitas
    • 3 seguidores
  12. Started by Juan Colqui,

    Estimados Expertos: Quería consultar su ayuda sobre combobox aplicado en una hoja excel (sin colocarla en un formulario). Al adicionar los valores para este combobox realizo un filtrado para eliminar valores repetidos. Logro eliminar los valores repetidos, pero como adiciono un comando Clear al inicio para borrar los datos de filtrado y no se me acumule, entonces al final se borra el item seleccionado. Les paso mi fichero por si alguien ha tratado de realiza anteriormente este proceso: Private Sub Combobox1_DropButtonClick() Dim sd As New Collection Dim celda As Range Dim dato Dim r As Range Dim UF As Integer On Error Res…

    • 1

      Reacciones de usuarios

    • 3 respuestas
    • 496 visitas
    • 2 seguidores
  13. Started by pinoji,

    Buenas noches colegas. Espero se encuentren bien todos. Tengo un pequeño problema; A partir del numero de identidad (para otros países creo que es RUP) yo extraigo la fecha de nacimiento, y calculo la edad de cada trabajador, pero me da un "desfase" con fechas que comienzan a partir del 2000. =FECHA(VALOR(EXTRAE([@[C. Identidad]];1;2));VALOR(EXTRAE([@[C. Identidad]];3;2));VALOR(EXTRAE([C. Identidad];5;2))) Fecha para hallar la edad =AÑO($A$2)-AÑO([@[FECHA NAC.]]) Pueden ayudarme a definir o corregir este problema? Y si no fuera mucho pedir, me gustaría hacer esto desde VBA y evitar fórmulas o funciones en la hoja de cálculo. Gracias de ante…

    • 2

      Reacciones de usuarios

    • 4 respuestas
    • 715 visitas
    • 3 seguidores
  14. Hola buenas, Me ha surgido un problema con la importación de hojas a excel. Tengo un procedimiento mediante el que importo hojas, el tipico: Workbooks.Open "C:\Users\Usuario\Desktop\Prueba\Prueba2.xlsm" Workbooks("Prueba2.xlsm").Sheets("Hoja1").Copy Before:=Workbooks("Prueba1.xlsm").Sheets(1) Workbooks("Prueba2.xlsm").Close savechanges:=False Mi problema es que después del Close, en VBA sigue manteniendo el proyecto con su código del libro "Prueba 2", como si siguiera abierto, pero no es el caso porque únicamente tengo abierto el Libro1. Me ha saltado alguna vez también un mensaje de aviso al intentar abrir VBA que me dice: "Memo…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 736 visitas
    • 3 seguidores
  15. Started by jorgealv,

    Hola, Estoy tratando de hacer una macro incremental para cada columna de semana. La columna A son los codigos unicos y por cada codigo hay dos datos de sales y fcst conn la siguiente condicional: 1. Si no tenemos Sales pero sí Fcst se pone ambos en rojo > Si en la celda de Sales = 0 y Fcst si tiene dato > Rojo 2. Si tenemos Sales pero está por debajo de Fcst se pone ambos en naranja > Si en la celda de Sales> celda Fcst > Naranja 3. Si tenemos Sales y es la misma cantidad que el Fcst se pone ambos en verde 4. Si tenemos Sales y el Fcst es inferior a este o es 0 se pone ambos en morado. Gra…

    • 1

      Reacciones de usuarios

    • 1 respuesta
    • 341 visitas
    • 1 seguidor
  16. Buen día, trate de automatizar para crear ordenes de servicio, pero me sale el error "Error de compilación: el uso de la propiedad no es válido" y me subraya esta linea "Set Application = SapGuiAuto.GetScriptingEngine" Comparto como realice la programación: Sub Ordenesautomaticasunapos() If Not IsObject(Application) Then Set SapGuiAuto = GetObject("SAPGUI") Set Application = SapGuiAuto.GetScriptingEngine End If If Not IsObject(Connection) Then Set Connection = Application.Children(0) End If If Not IsObject(session) Then Set session = Connection.Children(0) End If If IsObject(WScript) Then WScript.Connect…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 426 visitas
    • 2 seguidores
  17. Hola y muy buena tarde foreros, espero puedan ayudarme por favor!!! , tengo un código que he ido puliendo, pero falta un ajuste mínimo creo, ya que no está funcionando algo, que es guardar los cambios antes de cerrarse el o los archivos de formato CSV. El proceso es el siguiente: 1ro. Exporto desde otra plataforma muchos archivos en formato csv (separados por coma) que inician con el prefijo "Mapeo", ejemplo : Mapeo_Sistema1, Mapeo_Sistema2, etc) 2do. Ejecuto el código que pegaré más abajo, éste está guardado en mis macros "PERSONAL.XLSB" y la ejecuto de un botón. 3ro. Se ejecuta la macro, funciona bien, excepto la instrucción donde debe guardar cada uno …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 478 visitas
    • 2 seguidores
  18. Hola buenos días, estoy haciendo una macro con el cual traigo los datos de diferentes libros y de ahí extraigo datos, según la hoja que necesito. mi macro actualmente funciona. indicando directamente el nombre del libro al que quiero hacer referencia. Set l2 = Workbooks("Bd_Sunny1.xlsm") pero como trabajo con diferentes archivos y datos me gustaría poner en la celda U1 del libro1 el nombre del archivo al cual quiero hacer referencia, y no estar modificando mi macro a cada momento. Mi libro1 (L1) es donde esta la macro y L2 es el libro de donde buscare los datos. trate de hace referencia de esta manera. nA = l1.Sheets("Contenido").Range("U1").…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 361 visitas
    • 2 seguidores
  19. Buenas necesito de su ayuda. Quiero copiar una hoja o algunas a otro lugar (escritorio, documentos, descargar, etc.) sin las formulas que tenga las celdas; solo datos pero que se mantenga el formato: Color de celdas, bordes, las letras, etc. Las rangos de las hojas varían no todas tienen las mismas medidas.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 434 visitas
    • 1 seguidor
  20. Hola buenos días: Por favor me pueden ayudar con los siguiente, tengo una macro que me llena la hoja "contenido" con datos de diferentes hojas (dentro del mismo libro), en la hoja "contenido" y celda U2, nombro la hoja donde quiero extraer la información. La macro funciona muy bien: Su proceso es buscar dentro de la hoja valores dentro de una fila y columna y pegarlos en la hoja contenido. Debido al aumento con de mis registros he creado un libro nuevo ("Consultas")donde estarán todos mis hojas y datos que buscara. Lo que necesito hacer con mi macro es que pueda realizar esta mismo pero dentro de un libro diferente. Poder seleccionar un libro (U1). y…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 477 visitas
    • 2 seguidores
  21. Hola y gracias de antemano por cualquier ayuda tengo una exportación de datos en una pestaña (original ) y necesitaría que me pegase las lineas nuevas en otro listado de otra pestaña ( copia ).. y al mismo tiempo, que me borrase del listado COPIA los que ya no encuentre en la exportación ( Original ) BUSCAR Y ESCRIBIR EN OTRA PESTAÑA.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 761 visitas
    • 3 seguidores
  22. Hola a todos Agradezco de antemano cualquier ayuda / gestión. Tengo un listado de facturas donde con fórmula detecto si ha sido COBRADA o no. Estoy buscando código que cuando encuentra la palabra COBRADA en la columna L, me borre la fila. Me he quedado en el IF, el Delete ya no sé como hacerlo. Reitero las gracias ==================================== Sub BORRAR_COBRADAS() Dim i As Integer For i = 2 To 8000 If Range("FACTURAS!L" & i) = "COBRADA" Then …

    • 2

      Reacciones de usuarios

    • 6 respuestas
    • 665 visitas
    • 4 seguidores
  23. hola foreros, espero me puedan ayudar por favor, tengo esta macro creada con ayuda de IA y requiero lo siguiente, que cuando detecte la condición "REC" en columna SURVTYPE (Col D) del archivo "survey_test2.xlsm", se inserte una fila abajo, repitiendo toda la información de dicha fila, excepto el dato de columna DEPTH, este nuevo dato que lo obtenga de un archivo cerrado (no necesita estar abierto) que se llama "Update_Recomendaciones2.csv", y que está en la misma ubicación de carpeta, desde este archivo .csv obtenga el dato de "profundidad" que está en columna "PROF_REC" (Col D) [del archivo "Update_Recomendaciones2.csv"] reconociendo por el código HOLEID y extraer el dat…

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 481 visitas
    • 2 seguidores
  24. Started by Ppep,

    Hola, Quisiera saber de una macro para ocultar columnas vacías, de una tabla cuando aplico un filtro (o varios), y me quite también las que están ocultas que tienen datos pero no salen en el filtro. Un saludo. rMezclaCompletamacro25.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 537 visitas
    • 1 seguidor
  25. Tengo una duda, tengo el UserForm con búsqueda en rol solamente, como puedo hacer la búsqueda con los demás parámetros que tengo , y ver si la búsqueda de cada parámetro se puede enlazar al mismo tiempo y hacer una búsqueda en , adjunto excel. PRUEBA 1.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 434 visitas
    • 1 seguidor

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.