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. Buenas tardes. me acabo de dar de alta en el foro porque llevo días para solventar un problema con el que me he encontrado y ya no se que mas probar. Tengo un xls con un formulario en el que el usuario selecciona una serie de sociedades y ejecuta una macro que lo que hace es un save as de una plantilla tantas veces como sociedades ha seleccionado el usuario. Esto estaba en office 2007 y siempre ha funcionado, sin embargo al instalar office 2013 no funciona siempre, por ejemplo, si ha seleccionado 8 sociedades, ha guardado la plantilla 5 veces, esto es, sin ninguna lógica y coherencia a veces no hace el saveas. Si ejecuto el código paso a paso, aparentemente lo hace bi…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  2. Hola a todos: Estoy con un archivo de incidencias y lo que quisiera es que en la celda del rango de celdas (“G4:I” & uf) de la hoja “Resumen” cuyo valor (en formato hora personalizada) sea “0:00:00” aparezca el código de la columna C de la hoja “SEMANA_2” correspondiente al nombre y a la fecha: P. ejemplo: Si la celda F7 de la hoja “Resumen”, que se corresponde con el nombre “DIAZ ANSORENA LUIS” y con la fecha “09/01/2020”, tiene valor “0:00” lo que quisiera es que apareciera el valor correspondiente de la hoja “SEMANA_2” que en este caso sería el de la celda C10: “V62”. He hecho una macro (entiendo que muy torpe) que no funciona, aunque repasándola, cr…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 957 visitas
  3. Started by febrero59,

    TextBox Change: Pérdida primera pulsación Buenos días, Adjunto hoja con formulario que incorpora 2 textbox programados para que, con el método change, al introducir datos en uno se borre el otro y viceversa. El problema que tengo es que pierdo la primera pulsación cuando, tras rellenar uno de los textbox, escribo en el otro.:confusion: ¿Cómo puedo solucionarlo? Gracias, Juan. TextBox Pérdida Primera Pulsación.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  4. Buenas tardes a todos! Que tal, en espera de su ayuda tengo el siguiente problema, ya tengo una macro que me hace un reporte por cada sucursal que se tiene en el pais, pero no logro separarlo por bloques y me inserte dos filas en blanco arriba despues de que encuentre un dato. y donde inserto la segunda linea me ponga el nombre ahi, y en toda esa fila me realize la sumatoria de los campos. Creo que con el ejemplo quedara mas claro en la hoja1 es como tengo mi dato, y en la hoja2 como deseo que quede, espero me puedan apoyar ya que es el ultimo dato que me hace falta para terminar. Este codigo es correcto me inserta las 2 filas en blanco que necesito, ya logre que funcio…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  5. Started by f9frank,

    Buenas a todos, No se como explicar el problema que tengo.. espero hacerlo bien. Tengo un libro excel al cual le cree un menú que se abre con diferentes opciones (auto Open). Este archivo es necesario enviarlo todos los días via correo, pero por lo general mis jefes no necesitan guardarlo sino que simplemente abrirlo y echar un vistazo.. El problema que tengo es que el archivo se llama "EOD Mayo V2.xlsm" pero cuando lo abren en modo lectura sale con el nombre "EOD Mayo V2.xlsm (1)", como que crea una copia.. Y esto arruina los vinculos y deja de correr la siguiente instruccion: Private Sub Label1_Click() Application. _ Workbooks("EOD Mayo V2.xlsm"…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  6. Started by misanme,

    Buenas tardes a todos. En primer lugar dar la enhorabuena por este foro que, sin duda alguna, nos es de muchísima utilidad y que en más de en una ocasión nos ha sacado de un buen aprieto... Os planteo lo que quiero hacer. Para ello os adjunto un archivo .zip de ejemplo para que la ayuda y mi explicación sea mucho más fácil. En dicho fichero podréis ver varios archivos excel y carpetas. En primer lugar, tenemos los archivos "USUARIOS" Y "TRABAJADORES" que sirven como base de datos para dar una referencia a cada usuario y trabajador. Por otro lado, está la carpeta "SEMANAS" en la que incluyo un fichero excel por cada trabajador que es el cuadrante mensual de cada uno de e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  7. hola todos tengo una duda, tengo un calendario en un userform llamado FmCalendario y logro ingresa r la fecha presionando doble click en un textbox del userform llamado FmJornada y que ponga la fecha, con estos codigos este es del textbox Private Sub TextFeJornada_DblClick(ByVal Cancel As MSForms.ReturnBoolean) FmCalendario.Show End Sub[/CODE] este es del calendario [CODE]Private Sub Calendar_Click() FmJornada.TextFeJornada = Calendar.Value Unload FmCalendario End Sub[/CODE] ahora lo que quisiera hacer es que el calendario se pueda usar para diferentes formularios, es decir, tengo tres formularios y en los tres se necesita fecha, asi que me gustaria p…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  8. Started by Omar Duron,

    Que tal amigos, soy nuevo en este tema y me gustaría que me ayudaran con una macro que haga lo siguiente: que busque un valor numérico en un rango especifico, una vez que lo encuentre que me seleccione la linea completa con un color distinto para resaltarlo y que una vez encontrado si cambio de celda se quite el color y la linea quede nuevamente en el color por defecto, ademas que me avise si el valor buscado no esta en el rango especifico, este es el código que tengo hasta ahora: Sub buscar() valor_buscado = InputBox("Factura a buscar", "Busca folios") On Local Error Resume Next If valor_buscado <> "" Then Range("D5:d100000").Select Selection.Find(What:=valo…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  9. Hola amigos, he estado intentando todas las formas para finalizar mi base de datos con macros. He avanzado mucho, pero no logro lo siguiente: Tengo una hoja llamada :"formulario" ahí digito los datos para "guardar", "limpiar"o "eliminar"información. Tengo una hoja: "Hnas Total", que es donde tengo la base de datos. Necesito que desde el formulario yo escriba el apellido y ese formulario se llene con la información correspondiente a ese apellido y luego yo lo pueda eliminar. el problema es que puede que hayan tres personas con el mismo apellido y entonces necesito saber la información exacta para eliminar a la persona correcta. La macro de eli…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  10. Started by Miguel63,

    Buenas tardes, Si me podéis ayudar con este tema estaré eternamente agradecido. Tengo un formulario con dos combobox y un textbox, y una tabla1 que es donde lleno el combobox1(Categoria) al iniciar el formulario y el combobox2(subcategoria) se llena cuando selecciono un dato del combobox1, lo que intento pero no logro conseguir es que al seleccionar un dato del combobox2(subcategoria) se llene el textbox(Codigo) de la tabla1(Categoria). Muchas gracias de antemano. Saludos

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 787 visitas
    • 1 seguidor
  11. Hola a todos. Estoy haciendo en un archivo Excel habilitado para macros una clasificación por equipos de unas pruebas multideporte. Este archivo Excel contiene dos hojas: “Clasificación INDIVIDUAL” Y “Equipos”. En la hoja “Clasificación INDIVIDUAL” se recogen los resultados de los equipos en diferentes pruebas: FUTBOL, BALONMANO, BALONCESTO, SALTO VERTICAL (2 INTENTOS) y SALTO DE LONGITUD (2 INTENTOS). Cada equipo está compuesto por 5 jugadores. La suma de la puntuación de cada equipo se obtiene mediante la función “=SUMA…” al final de las puntuaciones de los participantes de cada equipo. La hoja “Equipos” tiene dos botones. El primero de ellos, llamado “Su…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 503 visitas
    • 1 seguidor
  12. A ver si me podéis echar un mano, Necesito importar una serie de datos en orden de un fichero .txt automáticamente. Los datos están separados por espacios aunque el formato del txt se podría modificar si fuera necesario, y cada dato separado por espacios debe ir en celdas contiguas. Ejemplo: [B]Datos del txt[/B]: 24/02/2012 14:39 2406,500000 [B]En excel[/B]:[B] En A1[/B]: 24/02/2012 [B]En B1[/B]: 14:39 [B]En[/B] [B]C1[/B]: 2406,500000 [/CODE] Aparte de ésto luego tengo que arrastrar unas fórmulas manualmente ¿Se podría hacer también un arrastre automático de ciertas celdas? Adjunto dos ficheros, un .txt con el formato de los datos y un .xls con lo que neces…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.7k visitas
  13. Started by coyuyos,

    necesito cargar los datos de una columna "v3:v42" (sin los ceros)a otra hoja(inventario).He intentado varias cosas pero no me funcionaron x ejemp: formato de celdas---->personalizada y escribir Escribe "0;-0;;@", sin las comillas, en la caja "Tipo". Me di cuenta que solo los ocultaba. por favor necesito una macro que" borren los ceros " que puedan aparecer en ese rango(solo eso),ya que los datos los cargo a un inventario a travez de una macro.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.4k visitas
  14. Buenas foreros, tengo una consulta, Solo quiero que me respondan a esta pregunta, la explicación está en la hoja, ¿es más efectivo/eficiente esta forma o por elcontrario es preferible añadir los formatos y fórmulas directamente desde lamacro? Un saludo. DudaEficiencia.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 745 visitas
  15. Started by ElmerFigueroa,

    Hola, estoy intentando mostrar un video en un Formulario, cargando una Página HTML pero sin éxito lo que si he logrado es cargar imagen GIF. Anexo Archivo Excel, página HTML y Video mp4 para ver si alguien me puede ayudar. Gracias. video.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
  16. 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
    • 798 visitas
    • 3 seguidores
  17. Started by fdbchp,

    Buenas tardes, adjunto un excel.zip. Aparecen una serie de tasas ordenadas que - comienzan con las letras tx, - el numero de tasas, - la moneda - y el importe de la tasa acompañado de dos letras que la identifican. Lo que quisiera es que cualquier serie de tasas quede como las de la fila B. He intentado con alguna función pero no se me ocurre nada o no termino de aplicarlo bien. ¿Alguien puede ayudarme? gracias al foro x adelantado Borja tasas.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 644 visitas
  18. Started by Angelica_,

    Buenas tardes, Necesito de su ayuda para resolver un inconveniente que tengo al realizar una macro con dos criterios de búsqueda, hasta el momento tengo lo que les presento a continuación, esta funciona a la perfección pues solo incluyo un criterio de búsqueda (Persona responsable) sin embargo necesito que localice la Persona responsable y la Cuidad donde nació esta persona (Ciudad_Nacimiento) -----------------------------------------MACRO Sub copiar_datos Dim archivo_origen, Persona, Ciudad_nacimiento As String, RsBusq As Range With Workbooks(archivo_origen) .Activate With .Sheets(1) .Activate 'Criterio de búsqueda para Persona responsable …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  19. Started by Blecho,

    Al ejecutar un fichero Excel con macro me salta el "error de compilación en módulo oculto" en una computadora. En otra computadora funciona perfectamente. ¿Alguien podría aportarme alguna idea para solventarlo?. Adjunto fichero en cuestión. Gracias. Acciones formativas.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 8.1k visitas
  20. Started by renato13,

    Buenas noches amigos de AyudaExcel a ver si me dan una ayuda por favor tengo un comboBox países y dos textbox quiero que al digitar el código del país cargue en el primer textbox el país y en el segundo textbox la capital automaticamente extrayendo los datos de la hoja2. Muchas gracias por su valioso tiempo Adjunto el archivo para que tenga la idea Comboboxligado a dos textbox.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 810 visitas
  21. Started by cesarmontenegro,

    Buen diaSolicitando su ayudaComo puedo listar carpetas en comboboxEn el primer combobox1 aparezcan listadas dos carpetas (ENTRADAS Y SALIDAS)Luego al seleccionar cualquiera de las dos anteriores aparezcan listadas las subcarpetas en el combobox2Al seleccionar cualquier subcarpeta del combobox2 aparezcan en el listbox1 los archivos pdf que contiene la carpeta seleccionada.Más o menos así espero su ayudagracias ---------

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 684 visitas
    • 1 seguidor
  22. Started by Onotera,

    Modificación hoja recibos con base de datos Buenas tardes, Os adjunto libro donde tengo una base de datos, y quisiera que me creara por cada registro de la base de datos una hoja nueva con su correspondiente recibo. El formato del recibo es el que hay en las hojas siguientes. Se podría una vez realizados los recibos, crear un pdf con todos ellos? aunque esto no es del todo necesario. Gracias pruebas recibos.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  23. Que tal comunidad me presento rápido mi nombre es Fernando ya es de madrugada y tengo el cerebro un poco ciclado ya jeje vengo a implorar una ayuda acerca de una duda que me surge en estos momentos como concatenar y remarcar en negrita algunos campos. El problema es este: Tengo esta función de concatenar =CONCATENAR("El usuario ",B2, " tiene la ficha ", A2, " y tiene un sueldo de ", O2, " Quincenales")[/CODE] la celda B2 corresponde al nombre de usuario lo único que deseo es saber como remarcarlo en negrita trate de seguir este tutorial y entender macros pero no me resulto nada https://www.ayudaexcel.com/foro/macros-programacion-vba-10/cerrado-concatenar-celda…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.4k visitas
  24. Started by alexortiz,

    Buenas a todos! Soy nuevo por estos lugares y ando con un proyecto que paso a redactar. Estoy creando un analizador de datos los cuales los tengo en archivos CSV. Para ello, necesito importar los datos desde archivos CSV a una de las hojas de Excel. Buscando por internet, he encontrado un tutorial que realiza la importacion de datos desde Access a Excel de la forma que necesito pero no se cuales son las modificaciones que necesito hacerle al codigo para que me importe los CSV. Aqui muestro el codigo: Sub ImportarDatosProduccionAccess() Dim DatosProduccion As New ADODB.Recordset Dim Conexion As New ADODB.Connection Dim CaracteristicasConexion As String Dim Instr…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 9.5k visitas
  25. 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

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.