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 jbattiato,

    Buenos dias a todos, cree el siguiente codigo porque muchos usuarios diferentes trabajan sobre el mismo archivo, y tienen diferentes accesos y conecciones a los discos de la red, de modo que cada que vez que alguien abría el archivo debia modificar todos los vinculos (son como 10) manualmente. El problema que tengo ahora es que cuando el programa va realizando lo cambios, abre automaticamente varios cuadros de dialogo para seleccionar un archivo que necesita para seguir ejecutandose. Los usuarios le damos cancelar a todos los cuadros de dialogo que aparecen y el codigo sigue su ejecucion normal. Mi consulta es, sabiendo que dando cancelar el programa sigue su ejecuc…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.4k visitas
    • 2 seguidores
  2. Buenas noches. Tengo una hoja excel con una serie de columnas y filas, y cogiendo código libre de otros programadores, he conseguido crear un LISTVIEW que, todo sea dicho, queda muy impresionante. El problema reside en que me gustaría poder enviar la fila donde está el "focus" del listview (creo que se dice asi), es decir, todos los ITEMS de esa fila del listview a otro formulario que contiene una serie de TEXTBOX por medio de un COMMANDBUTTON. Disculpen mi ignorancia y si no he sabido expresar lo que quisera hacer con el VBA. Si fuera necesario, estaría encantado en subir el archivo excel en formato XLSM para que pudieran ayudarme. Sin otro pa…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 458 visitas
  3. Started by InformaLA,

    Hola buenas tardes, nuevo por acá en el foro. Mi consulta es como realizar un macro que me permita organizar unos reportes clasificándolo en la primera columna por nombre total de su sección y a la vez que elimine su total. Ejemplo: REPORTE ORIGINAL (Foto1) REPORTE DESEADO(Foto 2) me explico, estos reportes (foto 1) solo traen su nombre de categoría en el total, lo cual hay que realizar una modificación agregando el nombre de su categoría(foto 2) para poder trabajar en tabla dinámicas.- Se agradece cualquier idea o solución de antemano.- REPORTE DESEADO.xlsx REPORTE EN BRUTO.xlsx

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 458 visitas
    • 2 seguidores
  4. Started by sdelpin,

    Hola buenas tardes, necesito de vuestra ayuda. tengo un textbox y un combobox, en un formulario, el combobox tiene dos valores "20" y "15" lo que necesito es que se sume el valor elegido del combobox con el valor escrito en el textbox, el resultado tiene que ir a otro textbox, que esta en el formulario. adjunto fichero. espero haberme explicado bien, gracias. Sumar valores en un textbox y combobox .xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 700 visitas
    • 2 seguidores
  5. Started by Gsus,

    Buenas, Nunca he sabido muy bien cómo programar el buscarv para que busque en un rango dinámico y no en uno fijo, normalmente si más o menos sé que donde tiene que buscar nunca va a pasar de las 2000 filas pues pongo que busque de 1 a 2000, pero me gustaría saber cómo hacerlo para que fuese dinámico y buscase en la totalidad de filas que tenga la hoja en ese momento. Muchas gracias. Os paso el ejemplo de cómo lo hago hasta ahora. Ej_BuscarV.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 946 visitas
  6. Started by Benito Bartolomé,

    Hola a todos; En un formulario tengo textBox para dias, para meses y descripción. DIA MES DESCRIPCIÓN txt txtMes txtD txt1 txtMes1 txtD1 ... ... ... En el de meses hay una validación para que no deje añadir numero superior a 12. Y en el de Días se valida que el día puesto no sea superior al que corresponda a cada mes. Has ahí todo bien. Lo que veo es que cuando se valida la fecha el foco debería ir al textbox (paso por parámetro al procedimiento el número) que tiene en línea y no va ¿? Saludos. …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 518 visitas
    • 1 seguidor
  7. Hola, tengo el siguiente código asignado a un Botón de "Eliminar" dentro de un Formulario en Excel, quisiera agregarle la parte de confirmación, donde me pregunte "Confirma eliminar el registro" Si - No, y ahí me perdí un poco, agradecería mucho su ayuda. ------------ Private Sub BT_Eliminar_Click() Me.BT_Agregar.Enabled = True Dim FILA As Object Dim Linea As Integer Dim NumeroFila As String NumeroFila = Me.TextRolPatente Set FILA = Sheets("Basedatos").Range("B:B").Find(NumeroFila, LOOKAT:=xlWhole) Linea = FILA.Row Range("B" & Linea).EntireRow.Delete MsgBox "El registro fue eliminado" Me.TextRolPatente = Empty Me.T…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 543 visitas
    • 1 seguidor
  8. Buenas, adjunto un fichero de ejemplo donde tengo en la columna A el id. Lo que hago es filtrar por Id = 1 y exporto a csv, luego por id = 2 y exporto a csv, etc. ¿Hay alguna forma de automatizar esta descarga con macro independientemente del nº de Ids distintos que haya? Gracias! Ej_Exportar.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.2k visitas
    • 1 seguidor
  9. Started by Antoni,

    Te dejo la imagen del tema del que hemos hablado por privado:

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 677 visitas
    • 1 seguidor
  10. Hola, Me han pasado un fichero, donde las cantidades vienen con ' delante, sería así: '0,234 '123456,03 He utilizado este código para quitarle el símbolo porque necesito sumarlo, pero en algunos casos se queda así 0.234 y no me deja reemplazar el punto por la coma, solo quitárselo y quedarme con 0234 Os paso un fichero de ejemplo, por si se os ocurre otro modo de cambiar el formato. Muchas gracias! With Worksheets("Hoja1") For i = 2 To .UsedRange.Rows(.UsedRange.Rows.Count).Row If Cells(i, "A").Value Like "'*" Then Cells(i, "A").Value = Right(Cells(i, "A").Value, Len(Cells(i, "A").Value) - 1) End If Next End Wi…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 407 visitas
  11. Hola a tod@s, hace unos días pedí ayuda y se me dió una solución perfecta, pero al aplicar la macro si las celdas tienen fórmula no funciona. Lo que necesito conseguir es que se calculen las celdas consecutivas del mismo color. En una columna tengo celdas con números, celdas con color (algunas de ellas consecutivas) y necesito que en la columna de al lado me salga el recuento de cada grupo de celdas consecutivas. Todas las celdas tienen una fórmula dentro (por eso muestra números o colores) Adjunto excel con las celdas con fórmula para que sea más fácil. Gracias de antemano por vuestra ayda y saludos Contar celdas consecutivas mismo color si celdas ti…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 280 visitas
    • 1 seguidor
  12. Started by Moratti,

    Tengo la siguiente fórmula con la intención que detecte los cambios en las celdas y registre la fecha en la columna B El problema es que me inserta la fecha en cuanto pincho la celda, y solo quiero que la inserte cuando haga algún cambio. No sé que hago mal. uf = Range("C" & Rows.Count).End(xlUp).Row If Not Application.Intersect(Target, Range(Cells(8, 3), Cells(uf, 59))) Is Nothing Then Range("B" & Target.Row) = Date Range("BH" & Target.Row) = Target.Address Gracias.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 624 visitas
    • 1 seguidor
  13. Started by Gsus,

    Buenas, Estoy investigando si es posible crear en excel con vba los niveles de jerarquía en un conjunto de datos. Algo así como simular la fórmula PATH que hay en Power BI. Cuando busco solo encuentro temas relacionados al path de la ruta del archivo etc. No a nivel datos, como pongo en el ejemplo en la columna en amarillo. ¿Hay algún modo de hacer esto con VBA? Gracias por la ayuda! ej_path.7z

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 778 visitas
  14. Started by Gsus,

    Buenas, tengo un fichero con un montón de registros (yo os paso un ejemplo). Donde los datos vienen estructurados por orden de la siguiente manera: A, A1, A2 / a veces solo A y A1; y otras solo la A Por ejemplo: Clave Nivel Cantidad 1 A 50 1 A1 25 1 A2 25 Y lo que quiero es esto: Clave Nivel Cantidad A1 A2 1 A 50 25 25 1 …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 523 visitas
    • 1 seguidor
  15. Started by rotenman1,

    ¡¡Hola!, buenos días. Tengo un archivo que tomé de la comunidad para realizar un reporte por material y calcular de cada uno sus proporciones utilizadas. Lo anterior lo realiza de manera correcta, lo que busco es que de todos los materiales utilizados me arroje una tabla con los totales. El problema es que los materiales los tengo divididos en columnas y me es algo difícil saber cómo sumarlos correctamente. Adjunto el archivo de ejemplo. De antemano muchas gracias por su ayuda. Cálculo_Materiales.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 494 visitas
  16. Hola a tod@s, he buscado en el foro pero no encuentro exactamente lo que necesito. Tengo en una columna grupos de celdas del mismo color y me gustaría obtener el resultado de cuántas seguidas hay y su número, en una misma columna. Ejemplo: si hay 3 celdas seguidas de color, obtener un 3, si hay 4 obtener un 4, etc Adjunto un excel con el ejemplo por si es más fácil. Muchas gracias de antemano por vuestro tiempo y sabiduría!! Ejercicio contar celdas consecutivas mismo color.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 794 visitas
    • 1 seguidor
  17. Hola! Qué tal? Estoy intenando hacer una mini base de datos en Excel para mi trabajo (Debe ser en Excel si o si y el libro se usará para compartir) Quiero aclarar que soy principiante en tema de VBA y me manejo un poco con Macros pero no es mi fuerte, estoy aprendiendo. Solo necesito un formulario para ingresar datos (Lo cual hice un invento para que funcione ya que no puedo utilizar Tablas y luego compartir el libro) pero se me está complicando la parte donde debo buscar a los pacientes para luego agregar información, les dejo el archivo para ver si me pueden tirar unas ideas. La idea del proyecto es la siguiente: Trabajo en un Consultorio Médico que tiene su parte de Od…

    • 0

      Reacciones de usuarios

    • 27 respuestas
    • 1.8k visitas
    • 1 seguidor
  18. Started by Benito Bartolomé,

    Hola de nuevo, seguimos con formateos. En la macro que adjunto al añadir un numero a la columna "E" de mi tabla "Tabla" a través del evento "Worksheet_Change" de la hoja me lo transforma en formato hora es decir, si pongo 0.5 el formato devuelto es 00:30:00. Lo que me gustaría saber si el código es del todo correcto o se puede mejorar ¿? Saludos. Horas.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 826 visitas
  19. Started by latorre56,

    explico rápido... tengo un formulario de una base donde capturo los datos de salidas de comisión este cuenta con 2 combobox, en el combobox1 de "DAS DE COMISIÓN" selecciono 1 dia ,2 dias ,3 días o 4 días dependiendo los días de comisión,y en el combobox 2 me debería de cambiar los precios dependiendo la zona, al seleccionar el combobox 1 el dia se van llenando los textbox de alimentación y hospedaje.. es decir..(1 día solo el textbox de "alimentación" del día 1(se llena solo la alimentación por que es solo un dia, no habria hospedaje ), ....... 2 días de comisión, el textbox de alimentación del primer día,hospedaje del 1er día y alimentación del segundo día ....,3 días,…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 359 visitas
    • 2 seguidores
  20. Started by Benito Bartolomé,

    Buenos días a todos; -Con la macro que adjunto paso el valor formateado con dos decimales a la celda pero veo que si voy a la barra de fórmulas me siguen apareciendo más de dos decimales. Hay alguna otra solución? Me interesa que solo sean dos decimales porque después estos datos los paso a Access y me está cargando todos los decimales. Saludos Formato.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 652 visitas
    • 1 seguidor
  21. Started by Angel Manuel,

    necesito mover un conector o linea segun este un rango de celdas vacios o sea se me deberia quedar sin mover en la esquina de la celda AE12 y solamente bajar en la columna B mientras esten las filas vacias de forma automatica. Probe con este codigo y lo he tratado de modificar pero no lo logro. Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Row = 2 And Target.Column = 1 Then Call SizeCircle("Linea1", Val(Target.Value)) End If End Sub Sub SizeCircle(Name As String, Diameter) Dim xCenterX As Single Dim xCenterY As Single Dim xLinea As Shape Dim xDiameter As Single Dim wksN…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 415 visitas
  22. Started by Angel Manuel,

    Hola buenas a todos. Hace unos cuantos días estoy intentando trabajar con datos filtrados porque necesito que los datos filtrados en la columna A (No. Pre Factura) quisiera que se concatenaran, he probado varias formas, pero por desconocimiento no he logrado nada, cuando lo intento me concatena todos los datos estén visibles o no. Lo mismo con las columnas G, I, K, M, O, Q (COD1, COD2, COD3, COD4, COD5, COD6) que busco la forma de unir todos los códigos iguales y que me sume sus respectivas cantidades probando con tablas dinámicas, con la función subtotales, pero igual no lo he logrado. Les agradecería si me ayudaran a resolver mi problema. Gracias Dejo aquí el docum…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 317 visitas
  23. Started by Juan Suarez,

    Estimados recurro nuevamente con otra consulta, Estoy trabajando con access y ahora quiero incorporar clave a la BD, no logro crear una cadena de conexión valida, copio código donde abro la base y carga un combobox, Ingresa siempre a If cn.State <> 1 , no reconoce la clave prpporcionada Saludos. Private Sub CargarComboFormRubrado() Dim cn As Object Dim datos As Object Dim consultaSQL As String Dim conexion As String Dim rutaBaseDatos As String Dim contraseña As String ' Obtengo la ruta donde se encuentra el archivo de Excel actual rutaBaseDatos = ThisWorkbook.Path & "\Rbo.accdb…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.5k visitas
    • 1 seguidor
  24. Started by Juan Suarez,

    Estimados buenas tardes, Estoy teniendo problemas con el menú contextual ingresando datos en formulario , eventualmente se abre y esto ocasiona problemas Hay alguna manera de desactivarlo en el formulario para que no aparezca? Adjunto imagen para que lo ubiquen Saludos Gracias

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 951 visitas
    • 1 seguidor
  25. Buenas tardes amigos, un saludo, uds saben si es posible ejecutar unas macros que fueron desarrolladas en Windows de excel y tratar de ejecutarlas en excel de Mac? , tengo un archivo que usa macros y me han pedido que se pueda utilizar el archivo en una máquina de MAC, pero al abrirlo este me despliega un mensaje que el archivo que intento abrir tiene errores y que excel de mac podría repararlo en su máxima capacidad, realizo el proceso y me descompone el formato así como no me traslada los códigos de macros, no se si debo tomar en cuenta algunas variaciones que necesite saber para modificar mis código y pueda llevarlo a ejecuta a excel de mac. muchas gracias!

    • 0

      Reacciones de usuarios

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