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 Luis Rodri,

    Saludos Amigos, Recién me incorporo al foro buscando una solución para una pequeña base de datos que me encuentro realizando. Básicamente tengo 2 Pestañas de uso, "Introducir_Datos" y "Database". Básicamente lo que requiero es habilitar un combobox cuyo contenido seleccionado se refleje en la celda K5 de la pestaña "Introducir_Datos". El truco está en que el contenido desplegado en el combobox será variable, como explico a continuación: Los datos en la pestaña "Database" cambian en el tiempo, y lo que requiero es que el combobox filtre los datos que tengan asociada la variable "Pending" en la columna "M" de esa hoja, pero que muestre el contenido de la columna "B" (des…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 972 visitas
  2. Started by AndryAC,

    Hola muy buenas Tardes! Quiero hacer algo que me facilite la eliminacion de algunas filas para no tener que hacerlo tan manual. Tengo este archivo que pose codigos de compañias y cuentas de gastos con lo ejecutado mensualmente, lo que quiero es una macro o codigo que me elimine de la columna C que tiene de titulo Ceco, todo las filas donde en esta columna se encuentren codigos que no sean estos: 171,175,177,178,179,181,232,233,235,263,288. Es decir que las filas que contengas los codigos que ya puse permanezcan y las demas se eliminen . Es posible? Cabe destacar que si el codigo se puede hacer, lo ejecutare para otra base de datos donde cambiaria el condicional de lo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.8k visitas
  3. Started by Marco Castillo,

    Hola a Todos Tengo 2 preguntas acerca de excel. el primero corresponde al querer actualizar el una tabla dinámica esto lo hago programando en un botón de comando pero veo que se deshabilita el botón deshacer y rehacer es decir se borra los pasos anteriores antes hechos. ¿como podría con un código en vba no "toca" estas funciones. La segunda es algo mas fácil creo, como podría hacer mediante una macro , en listbox cargar solo los últimos 13 meses y el valor seleccionado que se copie a una celda. le dejo este reto. Saludos Marco Castillo A,

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 787 visitas
  4. Started by JAIR2289,

    Buenas Tardes La presente es para resolver el siguiente ejercicio: He llenado un combo con una lista, en donde al seleccionar un item y clicar en el botón MOSTRAR me deben de arrojar los resultados del item seleccionado en las celdas que dan el detalle; sin embargo, sin seleccionar el item del combo y solamente dandole click en el botón MOSTRAR me aparece toda la lista de las celdas en detalle. Quiero darle la restricción de que si doy click en el botón MOSTRAR y no selecciono el item de la lista del combo, me indique que debo de seleccionar un item de la lista y en base a ello recién mostrar las características y/o detalle. Por favor de ser tan amables con su ayu…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 727 visitas
  5. Started by jose_luisc,

    Buen día gente del foro, acá estoy con otra consulta: le asigné a una figura que está en la hoja "Busqueda B.VENTAS" una macro para que me dirija a la celda G4 de esa misma hoja, pero ahora sumé otra hoja y necesito agregarle a ese código un condicional que evalúe: si el valor de la celda H3 que está en la hoja "VENTAS" es mayor a 21 entonces me debería dirigir a la celda G4 de hoja "Busqueda B.VENTAS" (que es donde está el botón) y si es menor o igual, que me lleve a la hoja "FACTURA MEDIA" en la celda G4. Desde ya muchas gracias Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  6. Hola a todos, Por favor si alguien me puede ayudar con lo siguiente: Tengo una macro, la cual redondea los importes que están a partir de la fila 8 de la columna E,F,G, dichos importes deben redondearse siempre hasta la misma altura de datos del correlativo (columna B) actualmente la macro hace su trabajo, pero el problema es que cuando varia la cantidad de datos del correlativo tengo que estar manipulando la programación de la macro y me genera ceros debajo del rango que deseo redondear. Libro2.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 743 visitas
  7. Started by gabbs0310,

    Hola Ojala alguien ojala pueda ayudarme y de antemano agradezco la ayuda para detectar donde esta el error en mi Macro estoy creando una base de datos y en un Form trae la información a un ListBox , hasta acá todo bien pero quiero que al dar Clic en alguna linea de la información del listbox me traiga un valor a aun texbox y esto es lo que no logro estoy usando WorksheetFunction.VLookup pero por más que veo no hace nada al hacer clic en el listBox Private Sub ListBox1_Click() On Error GoTo ErrorHandler cuenta = FormNuevoProducto.ListBox1.ListCount For i = 0 To cuenta - 1 If FormNuevoProducto.ListBox1.Selected…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 598 visitas
    • 1 seguidor
  8. Started by jues,

    Buenos días @JSDJSD espero estes bien Utilizando la información proveniente de los dos posts anteriores en los que usted me dio un excelente soporte: Me guie para intentar configurar las siguientes macros: Sub VerificarTextBoxes() Dim txtBoxes As Variant Dim contador As Integer Dim sextoTextBox As Double Dim septimoTextBox As Double Dim i As Integer txtBoxes = Array(frmvtl.TextBox16.Value, frmvtl.TextBox17.Value, frmvtl.TextBox18.Value, frmvtl.TextBox19.Value, _ frmvtl.TextBox20.Value, frmvtl.TextBox21.Value, frmvtl.TextBox22.Value) contador = 0 …

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 417 visitas
    • 1 seguidor
  9. Hola a todos: Estoy trabajando en un pequeño proyecto en la que por medio de una macro quiero traer los datos de una hoja llamado articulos. Ejemplo: Que me desgloce todos los codigos existentes por familia. Pero que la familia este unificada. es decir si en mi lista de articulos existen 20 familias diferentes las traiga todas. Adjunto mi ejemplo y un pequeño avanze que con macro de autofiltro. Pero me trae una sola familia. Lo que quiero es que me traiga todas las existentes Vasos Platos Cubiertos y con cada uno sus codigos. Gracias MP Inventariomo.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  10. Amigos espero puedan ayudarme con esto quiero habilitar y deshabilitar la solo lectura via codigo, pero cuando deshabilito se cuelga y se cierra, a veces si funciona pero la mayoria no. Sub ActivarSoloLectura() Application.DisplayAlerts = False If Not ThisWorkbook.ReadOnly Then ThisWorkbook.ChangeFileAccess xlReadOnly End If Application.DisplayAlerts = True End Sub Sub DesactivarSoloLectura2() On Error Resume Next If ThisWorkbook.ReadOnly Then With ActiveWorkbook SetAttr .FullName, vbNormal .ChangeFileAccess xlReadWrite Application.DisplayAlerts = False .Save Application.DisplayAlerts = True End With End If End Sub MACRO S…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  11. Estimados Amigos, Buenos días, tengo el siguiente libro que realiza un procedimiento basado en buscar la última fila con información y recuperar el rango en la columna E. Me gustaría poder trabajarlo únicamente con un rango seleccionado, es decir, que cuando ejecute la macro no lo haga para todo el rango si no para el rango que seleccioné. Alguien me podría dar una mano por favor. Gracias. libropruebas.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  12. Started by pneox,

    Hola a todos, tengo un libro con varias hojas, y al ejecutar una macro quiero que se eliminen unas cuantas (siempre las mismas), pero no quiero que me salga el mensaje de confirmación de eliminación de las hojas. Lo he intentado con Application.DisplayAlerts = False pero no lo consigo, me sigue pidiendo el mensaje de confirmacion. Os copio el código: Sub () ' ' Macro ' Application.ScreenUpdating = False ' Application.DisplayAlerts = False Range("D11").Select ActiveCell.FormulaR1C1 = "Perfil" Columns("K:R").Select Selection.EntireColumn.Hidden = True Range("G23").Select ActiveWindow.SmallScroll Down:=18 Range("D…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 12.3k visitas
  13. Started by jeaa,

    Tengo una macro para combina celdas como yo necesito, pero esta macro solo esta definido con unos rangos de celdas pero yo necesito que cuando yo escoja cualquier rango de celdas de las columnas seleccionadas me combine, mejor dicho que me recorra como lo hace la macro crado(como guia la macro que esta grabado). Ajunto el archivo Muchas gracias por si ayuda. Prueba Macro .xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 5.3k visitas
  14. Started by Leonardo Briceño,

    Saludos amigos de Ayuda Excel. Quería consultar si hay alguna opción de macro de bloquear la opción "Guardar Como". El archivo ya tiene el código de salvar automáticamente al cerrarlo, pero me gustaría bloquear esa opción. Gracias, saludos. Leo

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 406 visitas
    • 2 seguidores
  15. hola buenos dias queria saber si me pueden ayudar tengo un formulario en excel con vba y puse los codigos para poder in ingresar y limpiar los datos del formulario pero no tengo idea que codigo colocar para poder modificar los datos, buscarlos, y poder eliminarlos agradeceria su ayuda muchas gracias no pude subir el archivo era muy pesado pero solo necesito el codigo y la indicacion de donde agregar los textbox1,2,3etc.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  16. Started by JoaoM,

    Tengo este evento el cual quisiera aplicarlo en varios eventos de varios formularios Sub Limpia(nameform As String) 'para TextBox y ComboBox en formulario 'Dim Ctrl As Object ''Aqui la rutina para Ejecucion 'For Each Ctrl In nameform 'Entrada.Controls 'If TypeOf Ctrl Is MSForms.TextBox Then Ctrl = Empty 'If TypeOf Ctrl Is MSForms.ComboBox Then Ctrl = Empty 'Next Ctrl 'MsgBox ("Controles limpios para nuevo uso"), vbInformation, "Limpiesa" End Sub[/CODE] Tal como esta no funciona, funciona si si le quito nameform As String y nameform y le dejo Entrada.Controls (Entrada es nombre de uno de los formularios) Para ello tendria que repetir el mismo codigo con solo …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 859 visitas
  17. Started by ALCAZABE,

    Hola, buenas tardes, como podría crearme una macro para inmovilizar paneles?. La cuestión es que al ejecutar una macro que copie las cabeceras del archivo de una plantilla, las filas que tengo inmovilizadas de esta plantilla, al ejecutar la macro se pierden. Muchisimas gracias.....

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 16.2k visitas
  18. Hola gente acudo a ustedes ya que realmente no se que hacer; tengo un userform que al ingresar "x" valor en el textbox1 buscara en la base de datos especificada y devolvera el resultado en textbox2. Si bien el formulario funciona, lo hace solo si busco numeros, es decir si busco el numero "1" me devuelve corretamente el valor que necesito, pero si busco por ejemplo "una palabra" ya no la encuentra. el código es el siguiente Private Sub CommandButton1_Click() On Error GoTo error: nombre = Application.WorksheetFunction.VLookup(VBA.CInt(Me.TextBox1), Sheets("datos").Range("A:B"), 2, 0) Me.TextBox2 = nombre: Exit Sub error: Me.TextBox1 = "": Me.TextBox2 = "" Me.T…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.5k visitas
  19. Started by Gaspar GP,

    He visto varias macros que realizan esta macro, incluso tengo un excel con esa macro incorporada y funciona. Pero cuando copio y pego esas macros a mi excel siempre me sale error 438 donde se especifica la fecha de la cita. Lo único que busco es un botón que cree una cita/tarea en outlook y que tome de dos celdas de mi excel los datos asunto y la fecha con hora. Gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.3k visitas
  20. Started by tosimo,

    Saludos a todos, Necesito si es posible que me ayuden a transformar la formula que les adjunto a VBA. SUMAR.SI.CONJUNTO($E$4:$E$9;$F$4:$F$9;"FALLECIMIENTO FAMILIAR";$H$4:$H$9;"CORRALIZ") Adjunto archivo para que me entiendan mejor. Un saludo y muchas gracias FORMULAVBA.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 604 visitas
  21. Hola amigos expertos molestándoles una vez más en mi proyecto tengo un grupo de checkbox´s y mi objetivo es activar desde uno o dos botones de opción y que estos checkbox´s sus nombres cambien de color al activar uno por uno o todo el grupo. Espero que me den una ayudita desde ya les doy mis sinceros agradecimientos no se que fuera de la programación sin ustedes. Gracias Nota. Les envío el archivo Activar CheckBox´s desde un botón de opción con color en nobre de CheckBox.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  22. Buen día gente, lo que quisiera hacer es que en una celda especifica que tengo, la cual una formula devuelve un numero de 5 cifras, quisiera que las dos primeras cifras sean un poco más pequeñas que las otras tres restantes, subo un captura de pantalla porque excel no me deja hacerlo ni manualmente, al salir de la celda se pierde el cambio. Quizás sea imposible pero con preguntar no se pierde nada (excepto tiempo de ustedes para responderme, jaja el cual agradezco y estimo) Saludos Jose

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 869 visitas
  23. Buenas noches, Adjunto mi archivo a fin de encontrar una solucion. Cada check ejecuta un userform en la cual con los botones podemos cambiar de color de verde a rojo en el ejemplo solo estoy considerando 5 check. LO que busco es insertar un solo userform para todas las check y que estas se ejecute de manera individual para no seguir insertando tantas userform como numeros pudan haber. Agradezco su ayuda Esperando una respuesta. Saludos...... Un solo userform para todos.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 552 visitas
  24. Saludos a todos los foreros de esta comunidad, por sus conocimientos y ayuda que nos proporcionan a los iniciados al tema de las macros, haber si podeis aclararme que estoy haciendo mal. Si en el textbox9 introduzco la cantidad de 2566,45 en textbox13 debería dar la cantidad de 231,00 y no es así, me devuelve la cantidad de 0,23 (adjunto macro) Gracias por adelantado Private Sub TextBox9_Change() With Me.TextBox9 .Value = TextBox9.Value .Value = Format(.Value, "#,##0.00") End With TextBox13 = Format(Val(TextBox9.Value) * (0.090009), "#,##0.00") End Sub

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 791 visitas
  25. Buenos dias expertos, dias atras me ayudaron con un formulario que filtra muy bien, ahora necesito pedir una ayuda para que cuando al filtrar y realiza los calculos me haga una condición los que tienen iva muestre con esa y los no los tiene igual sin iva lo que pasa es que la operacion de los calculos saca los totales e iva, en la data hay registros que tiene iva y los que no lo tiene, quiero que al momento de filtrar me salga como esta los que tienen que muestre con iva y los que no lo tienen igual sin iva, pero este ejemplo me saca el iva para todos cosa eso no debe ser asi. por favor espero haber me explicado bien los adjunto el archvio. Cotizaciones.xlsm

    • 0

      Reacciones de usuarios

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