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. Gracias por vuestra ayuda. Tengo una hoja Excel con aproximadamente 14.000 registros que me envía otro departamento todos los meses de una base de datos access. El número de columnas que tengo es de 14. En una de esas columnas, tengo el código asignado a la retribución de cada empleado por código retributivo y por categoría de esta manera. Columna A ..........Columna F, Columna G, Columna H, Columna I Nº Identifi Código Concepto Importe Categoría 12356 101 Sueldo 863,61 Jefe 1º 12356 102 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 602 visitas
  2. en el adjunto tengo 3 alertas dependiendo del valor que se digite en la celda d3 necesito que cuando el valor de la celda d3 sea cualquiera de las alertas (a3,b3 o c3) la macro inserte una flecha del color de la alerta, asi: alerta rojo celda a3, la flecha debera apuntar hacia abajo y en color rojo alerta amarillo celda b3, la flecha debera apuntar hacia la mitad y en color amarillo alerta verde celda c3, la flecha debera apuntar hacia arriba y en color verde muchas gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  3. Hola a Tod@s, Espero me puedan ayudar,... al intentar insertar una imagen a un formulario en tiempo de creación por medio de VBA, me dice que el objeto no esta disponible. Sub CreaForm() Dim MiNewForm As Object Set MiNewForm = Application.VBE.ActiveVBProject.VBComponents.Add(3) With MiNewForm .Properties("Height") = 300 .Properties("Width") = 300 .Name = "Prueba" .Properties("Caption") = "Prueba_LBV" .Properties("BackColor") = RGB(0, 255, 0) .Properties("Picture") = ActiveWorkbook.Path & "\Imagen1.jpg" ' .... AQUI ME SALTA EL ERROR? .Properties("PictureSizeMode") = 1 End With End Sub …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 769 visitas
    • 1 seguidor
  4. Saludos, Quisiera asignar a esta tabla la opcion de modificar Al seleccionar Buscar aparece la siguiente tabla donde quiero obtener la posibilidad de modificar No sé si es posible que al pulsar dos veces dentro de la fila de la lista me permitiera el poder modificar sin tener que pulsar en el boton pero si no fuera posible pues al pulsar el boton de modificar. Mil Gracias DIAGRAMA DE TRABAJO PRUEBA 01.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 526 visitas
    • 2 seguidores
  5. Started by exskizzo,

    Buenas a todos. Esta duda que traigo es la siguiente: Tengo un boton en la barra de herramientas al cual le asigno una macro(Siempre es la misma macro). Cuando guardo mis cambios, cierro y genero un archivo nuevo en base al anterior. Solo borro datos que no me sirven del anterior y comienzo a trabajar en el nuevo libro. Tengo que volver a asignar al boton que tengo diseñado en la barra de herramientas la misma macro porque no me funciona para mi nuevo archivo, solo para el anterior. Mi duda es la siguiente: ¿Como hacerle para que siempre quede asignada la macro, aun generando nuevos libros? Gracias y quedo en espera de su ayuda. No subo archivo porque creo que no es …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  6. Started by LeandroA,

    Buen dia, hace rato que no meto mano a excel y no recuerdo si se podia asignar una macro a un shape una rutina pasandole uno o mas parametros

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  7. Started by cangrejo,

    He creado 10 botones en una hoja de excel que quiero que hagan lo siguiente: Cuando pulse el 1, me gustaría que abriera un documento de word y me colocara en la página 1 de ese documento, cuando pulse el 5 que me coloque en la página 5 ¿es eso posible? A ver si podeis ayudarme.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  8. Started by jose ramon serrano,

    Hola, tengo un libro excel con varias hojas y quiero hacerlo atractivo. Quiero empezar por cambiar los botones sosos creados con vba, para eso estoy creando auto formas atractivas, mi problema viene al darle la orden a esa auto forma para que ejecute por ejemplo un formulario creado con VBA, pues le doy a asignar macro pero ya no se como continuar. si por ejemplo el botón que actualmente tiene esa misión tiene este código: Private Sub CommandButton1_Click() UserForm18.Show Worksheets("formulario").Select End Sub ¿Que deberia escribir en "asignar macro" de la auto forma creada para que funcione y pueda abrir el userform18? Gracias.

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 9.7k visitas
  9. Buenas noches: Tengo codigos de personas, a quienes quiere asignar cierto numero de llamadas, por ejemplo repartir 6 llamadas entre 3 codigos, a la primera le puede tocar 3 llamadas,a la seguda 2 y a la tercera 1, lo que se quiere es que la distribución de llamadas sea aleatoria. Adjunto archivo Muchas gracias Muestrita.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 848 visitas
  10. Started by Denys,

    Buenas, tengo el siguiente código: Private Sub CommandButton106_Click() Hoja2.Select Hoja2.Range("B1").Select While ActiveCell.Offset(0, 6) <> Empty ActiveCell.Offset(1, 0).Select boton = ActiveCell.Offset(0, 6) <======= En ésta linea de código obtengo el nombre de un botón que se encuentra digitado en una celda. (Ejemplo: "CommandButton6") y es almacenado en la variable boton, tal como se muestra. If Hoja1.txtcodigo.Text = ActiveCell Then boton.BackColor = &HFF& <======= Aquí está el problema, cuando quiero hacer referencia a ese nombre como un botón, no lo reconoce (Ejemplo: CommandButton6.Backcolor=&HFF…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 5k visitas
  11. Buenas tardes, Tengo una dudilla e invoco a vuestra sabiduría Tengo un rango de datos que copio y pego como imagen en otra hoja. El tema es que a esa imagen me gustaría poder nombrarla de alguna manera para poder más adelante, utilizando "shapes", trabajar con ella(x ejemplo algo tan simple como borrarla...). Saludos y gracias!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  12. Gracias maestros por la ayuda que brindan. Como podría hacer una macro que ponga un texto dependiendo el contenido de una celda. Me explico si en la celda A1 esta cualquier información que en el rango B1:F1 asigne el texto CANCELADO caso contrario que deje en blanco y asi sucesivameente si esta en la celda A2 igual que ponga B2:F2 asigne el texto CANCELADO caso contrario que deje en blanco lo mismo en la A3, A4 hasta la A10. Gracias por vuestra ayuda.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 491 visitas
  13. Hola amigos Agradezco anticipadamente a quien me pueda ayudar o asesorar en este tema. Tengo un archivo que me toca enviarlo 1 vez a la semana a unas 10 personas de sus ventas y de sus clientes o tiendas a cargo. Necesito enviar un solo archivo que cuando lo abran les toque colocar un usuario y contraseña y que eso permita que solo puedan ver sobre el filtro de la tabla dinamica. Opcion Coordinador. para cada uno de los coordinadores y no puedan ver lo de los demás coordinadores. Gracias Usuarios Contraseñas INFO.xlsx

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  14. Started by Jhog,

    Buenas Tardes, Alguien me podria apoyar con resumir las operaciones ya que desarrolle las operaciones en un rango de filas por ejemplo hasta 45, sin embargo muchas hojas son variables y la formula a veces es mas de 45 hasta 100 o 200 filas, por lo que se demora un poco en las operaciones, habra alguna forma de que las operaciones se hagan en funcion de la cantidad de datos de determinada columna SAludos, Sub ProcesarMO() Dim celda As Object Dim rng As Range Set rng = Range("I13:FE13") For Each celda In rng valor = celda.Value If valor Like "*S*" Then celda = Val(Range("G13")) * Val(Range("H13")) / 9.5 Next celda …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 961 visitas
    • 1 seguidor
  15. Started by trc00,

    Hola. Estoy creando una hoja de cálculo bastante extensa y la cual tiene que trabajar en casi todos sus módulos con un valor (fecha) que se introduce en un TextBox al iniciar el documento. ¿Cómo podría dejar asignado ese valor desde el principio y que todos los procedimientos y módulos lo reconozcan ? Os dejo un ejemplo sencillo de lo que me interesa hacer. El archivo te pide una fecha y luego debería trabajar con ella en diferentes módulos para devolver diferentes valores. Pero claro, al pasar del formulario a los módulos se me inicia en cero. Un saludo a tod@s ! fecha_publica.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  16. Hola a todos, Tengo un problema con VBA. He creado una macro que me genera un gráfico de tipo Chart (xlLineMarkers). Cuando asigno los valores a los valores del eje X con una variable de tipo array (de string) funciona. Pero cuando quiero asignar los valores del eje y con otra variable de tipo array (de double) me da un error. A qué puede ser debido? Dim bays_arr() as String Dim ratios_arr() as double ReDim bays_arr(1 to 18) 'Los valores son: (R03, R04, R05.......R19, R20) ReDim ratios_arr(1 to 18) ActiveChart.ChartType = xlLineMarkers ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Name = "=""Skin""" …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3k visitas
  17. Started by riverts,

    Ola a todos.. Quisiera saber como le puedo hacer para formular en las celdas o a travez de una macro : Necesito saber la cantidad de asistencias que un trabajador ah tenido en toda la semana 43 y me sume solo las aistencias o faltas y tambien que me sume las faltas o asistencias de todas las semanas(42 y 43) que se han registrado.Gracias de antemano..! Asistencia.rar

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k visitas
  18. Started by josu84,

    Buenas tardes, soy nuevo en el foro y por mas que busco no he encontrado una solucion, he visto algo pero no lo tengo claro, el tema es que quiero enlazar una base de datos en access de clinetes con mis facturas que hago en excel. Concretamente quiero que al introducir el codigo del cliente que he dado en acces me aparezca nombre, direccion, CIF... en dond yo quiera y unicamente el de ese cliente. He visto soluciones pasando la tabla de acces a excel y desde alli usando la formula buscar, pero yo quiero que siga siendo desde la base de datos de excel. Dejo varios enlaces de temas similares pero que al final no se la solucion. https://www.ayudaexcel.com/foro/excel-gene…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  19. Buenos días. Mi intención es asociar un formulario de barra de progreso ( lcf_ProgressBar ) que corra de acuerdo a la ejecución en segundo plano de una actualización ODBC que tengo en mi libro con una base de datos, a la vez y antes de que se ejecute la barra de progreso me gustaría poder corroborar si el equipo cuenta o no con conexión a Internet antes de realizar la actualización para que en el caso de que no tenga conexión No ejecute la consulta y advierta al usuario. lcf_ProgressBar.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 898 visitas
  20. Started by Jhoann,

    buenas noches , me gustaria saber si muy amablemente alguno de ustedes me pudiera colaborar indicandome , como puedo asociar un codigo a un precio , es decir , que al ingresar un codigo en una celda este me muestre en otra celda el valor de un articulo correspondiente a este codigo les agradezco de antemano por su amable colaboracion y asi mismo ofrezco disculpa si hay algun error en la redaccion del tema . quedo atento a sus respuestas , mil gracias

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.2k visitas
  21. Started by Jovan Henao,

    Lo que pasa es que tengo un boton de buscar un dato en especifico y me muestra los datos duplicados de los retirados de una empresa en un listbox lo unico que los diferencia es el tomo en el que estan registrados, lo que intento lograr es que cuando seleccione en el listbox uno de los datos si por ejemplo son dos, al seleccionar el primero este se ponga en la celda activa correspondiente para que a la vez se me llene los textbox el formulario que he realizado con su respectivos datos. de antemano les doy las gracias si me pueden colaborar. adjunto archivo del aplicativo que estoy trabajando.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 897 visitas
  22. Invitado Nicolás Araneda
    Started by Invitado Nicolás Araneda ,

    Estimados, Tengo una macro, en donde despliega en una pestaña todos los datos según uno seleccione en el combobox, al hacer Doble Click en la columna TECNICO , despliega una hoja con datos que se deben llenar. Existen dos botones, Ver y Registrar, al apretar el btn Ver, se despliegan campos dinamicamente y al completar esos datos se selecciona btn registrar y se almacenan los datos en la misma hoja en la celda 52 con su ID correspondiente. Lo que no me resulta es una vez creado los ese ID poder asociarlo a un combobox dentro del mismo formulario(btn ver) y me cree el ID 1.1 hasta N.N. Combobox1 : Dato1 Combobox2.Dato2 B…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 620 visitas
  23. Buen dia, Quiero que al hacer una selecion de un listbox o combobox, se imprima en 2 textbox dieferentes informacion relacionada al item seleccionado. ej: Al seleccionar de un combobox 1 el numero de parte de un producto (N/P), se debe imprimir en el textbox1 el tiempo promedio de reparacion y en el textbox2 el nombre del modulo seleccionado. Estos dos ultimos valores son constantes y propios de cada parte numero. Espero contar con su ayuda, mil gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  24. Started by cesaria,

    Saludos a Todos, Tengo mi trabajo listo, pero se me presento un problema, le presento el problema: un ejemplo chico,lo programe para me realice cálculos ,cada 2 celda un valor, pero en la Columna A están por grupo y en la columna H me calcula algo así: A ; H ac-1; ac-1; 2 ac-1; ac-3; 3 ac-3; ac-4; 1 ac-4; ac-4; 3 ac-4; lo que necesito que cambie cuando apararesca otro grupo en lista en la columna A ,que realize los cálculos cada 2 celdas en la columna H,algo así me quedaría: A ; H ac-1; ac-1; 2 ac-1; ac-…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 542 visitas
  25. Hola a todos. Mi problema es el siguiente: Tengo en access una tabla en donde se registran incidentes de un auto especifico, hasta ahi todo bien, posteriormente puede que haya otro auto con el mismo incidente pero para esto no tengo que agregar otro registro sino solo asociar el id del auto con el incidente que antes ya habia sido registrado. Alguna idea que me puedan dar? Les agradezco su atencion.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 717 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.