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 Estimados señores Tal como se muestra en el titulo de mi nuevo tema, busco de hacerme de un codigo con el cual pueda evitar ingresar datos duplicados en un listview. Sinceramente, nunca habia trabajado con el listview mas que listbox. No obstante, veo me veo en la necesidad de aprovecharlo al maximo tal como lo he hecho con el listbox. Claro está que nada esto podria ser sin la ayuda de los expertos de esta maravillosa comunidad a la cual le debo mucho. el codigo que empleo para evitar un dato repetido al momento de ingresarlo al listbox es el siguiente: Dim Rep as Integer For Rep = 0 To ListBox1.ListCount - 1 If UCase(Trim(CmdCodigo)) = ListBox1.Colum…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.8k visitas
  2. Started by Jawisr,

    Buenos días, Hoy necesito una pequeña ayuda para un tema que tengo que resolver en excel. Voy a explicarlo de la manera más sencilla posible. Tengo un libro de excel con varias hojas (fichas.xslm), todas tienen un mismo gráfico series. El tema es que esas series salen de datos que están en otro libro distinto con varias hojas también (base de datos.xlsm). Por ejemplo: el libro "fichas.xlsm" contiene hojas llamadas: peras, manzanas, plátanos. Y en cada hoja hay un gráfico que busca datos en el libro "base datos.xlsm" en el que hay las mismas hojas (peras, manzanas, plátanos) pero con tablas de datos. La pregunta es: ¿puedo hacer que la ruta de origen de los datos esté …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.3k visitas
  3. Hola buenas tardes la cuestión es la siguiente: Tengo una base general de la cual se va ir alimentando diariamente y que contiene varios proveedores lo que necesito es una macro q en cuestión me separe en hojas diferentes por proveedores ejemplo: tengo en la columna i5 el nombre de proveedor que me pase cada uno en una hoja diferente con todos los datos de la odis general. Agradezco su atención!! odis gral ok.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 525 visitas
  4. Started by AVILLALTA,

    Buenos dias compañeros necesito de su ayuda. Quisiera imprimir dos hojas de un libro con dos distintas impresoras. me hace falta el codigo en VBA Ambas impresoras estan en una misma pc. Y como se llama en vba a una impresora que tengo activa en la pc Gracias por sus comentario

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  5. Started by arrian,

    buenos dias, tengo un problema en la gestion de vencimientos de proveedores. lo que quiero hacer es que al insertar un proveedor que ya tiene asignado un vencimiento (30 dias, 30-60-90 dias, contado,....) me lo coloque en una hoja de su banco correspondiente fraccionando dicho pago (si es un pago de 1000$ y el vencimiento es a 30-60-90 dias que ponga su fecha correcta y su cantidad (333$ en cada vencimiento) y que en dicha hoja los pagos vayan ordenados por fecha de - a +. adjunto un excel que tiene comentarios explicados para ver si me podeis echar un cable ya que toy de los nervios y para mi es imposible ya que no tengo mucha idea, tengo algo de nociones nada…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 907 visitas
  6. Started by fredca76,

    Hola amigos, anexo mi solicitud, pues estoy buscando la manera de pasar de la hoja 1 a la hoja tres lo que me brindan las listas desplegables, más lo que escribo en las columnas y filas marcadas en amarillo. y QUE AL DARLE AL BOTÓN CARGAR BASE DE DATOS, IMPRIMA, GUARDE Y LIMPIE EL FORMATO PARA CONTINUAR CON OTRA CAPTURA. ME PUEDEN AYUDAR POR FAVOR ayuda.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 826 visitas
  7. Started by JESUSH,

    buenos días, alguien me puede colaborar, necesito copiar mediante una macro usa serie de códigos consecutivos que se encuentran en una hoja y pecarlos en la siguiente hoja en la ultima fila utilizada o donde la seleccione. anexo archivo y de antemano agradezco sus aportes. EJEMPLO COPIAR.xls

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.3k visitas
  8. Started by alvarochacon,

    amigos muchas gracias por este espacio que nos brindan a las personas que necesitamos tanta ayuda amigos necesito crear un historial cada vez que se actualiza un valor de determinada celda, navegando en la red e conseguido este codigo Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub With Range("A" & Cells.Rows.Count).End(xlUp) .Offset(1) = Target .Offset(1, 1) = Format(Now, "hh:mm:ss") End With End Sub (perdon si no referencio la pagina pero de tantas que busque ya perdi el link) este codigo me funciona de maravilla siempre y cuando yo oprima enter y necesito que no sea asi habe…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 841 visitas
  9. Hola: Os explico mis necesidades, a ver que se puede hacer. Tengo tres maquinas a las que me puedo conectar por tres redes locales independientes entre si (que ademas son lentas). Tienen unos datos que me interesa comparar. No es conveniente abrir los archivos mientras trabaja pues causa errores en el proceso. Si intento importar datos directamente desde su ubicación no me deja. Lo que hago ahora es tener un hipervínculo a la carpeta en red, otro al destino y abrirlos para copiar los archivos a pico y pala arrastrándolo. Son ciento ochenta archivos de texto en total pero con la extensión entre .C16 y .C24. Como la intranet es lenta seria fantástico que solo copiase…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2k visitas
  10. Started by Colonques,

    Hola amigos tengo una lista con nombres y DNI, (documento nacional de identidad), y me interesaría actualizar el rango una vez el Combo se ha situado en el nombre, de manera que si le pongo un apellido de más o cambio el DNI se cambie al mismo tiempo. Tendría que ser en el evento "Change" poner un Select a la celda que posee el nombre y que escribiera en la celda al mismo tiempo que escribo en el Combobox. Adjunto fichero .xlsm de ejemplo. Gracias por la atención amigos. :unconscious: Carta.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
  11. Started by RubenDario,

    Hola a todos En el archivo adjunto me permito explicar la necesidad que se me presenta. Se trata de cargar datos de un documento ( facturas ). He probado grabando algunas macros, pero tengo muchas dificultades. Esto es debido al poco conocimiento que tengo sobre la creación de procesos de rutina automatizados. En el foro seguro existen infinidad de soluciones a mi necesidad, pero si podeís adaptarlo mínimamente a lo que necesito, estaría muy congratulado. Muchas gracias. Rubén CargaFacturas.zip

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 722 visitas
  12. Hola, he ido leyendo varios hilos pero ninguno contesta exactamente a lo que quiero hacer. Tengo cientos de archivos excel, cada uno de ellos con una sóla columna, a los que les tengo que aplicar varias funciones estadísticas, siempre las mismas. Como es hiper reiterativo, he creado una macro. Así pues, al ejecutarlo, el resultado me aparece en la fila (A1:A20) es decir 20 datos. Esos datos interminablemente los tengo que copiar y pegar en otra hoja excel, e ir añadiéndolos en filas incrementales (fila A1, A2, ....Aenésima) Me estoy desesperando. Alguién me puede pasar un pequeño código para que al terminar el primer macro me copie directamente los datos de…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 883 visitas
  13. Started by aliaga313,

    Estimados, tengan todos ustedes muy buenos días... El problema que tengo es el siguiente, cuento con un libro de excel donde están una lista de equipos con sus respectivas especificaciones, para una mejora del trabajo estoy aplicando el VB y ayudandome de la herramienta ComboBox logre extraer los datos de una determinada fila, sin embargo quisiera que una vez seleccionado un Item en el combobox automáticamente se rellene los TextBox con los datos de la fila que fue seleccionada previamente... Espero puedan encontrar la solucion a mi problema. Saludos :acne: FORO.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 673 visitas
  14. Buena Tardes, Les escribo en esta oportunidad, debido a que estoy teniendo problemas con una macro de intersección de rangos de fechas el cual realice para que cumpliese con mis necesidades, el cual es que me diga si chocan en sus periodos de vacaciones el supervisor y el tablerista, así como los turbinista_1 y turbinista_2 entre si y con el tablerista; y por ultimo los turbinaista_1, turbinista_2 y Operador Auxiliar de Turbina (op. aux. tur.). El problema que estoy teniendo es que haga lo que haga siempre me aparece la ventana que dice: "Coinciden Tus Vacaciones Con la Segunda Fracción del Tablerista" o "Coinciden Tus Vacaciones Con la Segunda Fracción del Supervisor…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
  15. Started by locosx,

    Hola Otra vez, Acabo de escribir (copiando un`poco de aqui y de alli) una macro que llama a un libro y copia sus datos en el libro activo. Como me interesa copiar todas las hojas en función de una condición, establecida en la celda A2 de cada pagina, hay una instrucción macro para cada hoja _origen- hoja destino. Ejecutasa una a una funcionan perfectamente. Para no tener que ejecutar macro a macro, también hay un modulo macro para ejecutarlas a todas, pero este modulo da error de ejecución. Codigo de cada macro: Sub importar_entrelibros_YY() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ActiveShee…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 745 visitas
  16. Started by HugoMoon,

    Buenas noches, espero y me puedan ayudar. Soy nuevo en VBA pero quisiera crear una pantalla para una escuela de captura con las siguientes caracteristicas. Que se pueda selecionar primero el grado correspondiente, de ahi se pueda seleccionar el grupo al que pertenece el alumno y despues el listado de ese grupo para seleccionar el nombre de tal alumnos. Todo esto mediante dropdowns. Y cuando se tenga todo eso seleccionado se pueda agregar 15 datos de una examen. A como tengo mi hoja de calculo estructurada es la siguiente forma, tengo una columna con su numero de lista, otra con su grado, otra con su grupo y por ultimo el nombre con las quiente columnas que hay se almac…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 887 visitas
  17. Cod. Unids. Provee Criterio1 Criterio2 Art Precio. 111 […] A Pino Cama 1 Plaza 100 112 […] A Pino Cama 2 Plazas 200 121 […] A Pino Mesa […] 150 211 […] B Caño Cama […] 300 El proveedor “A” me informa que: “sólo” las CAMAS de PINO aumentan un 30%. Precio a Actualizar que Corresponde a las Camas de Pino con un coeficiente de 1.30 100*1.30 = 130 200*1…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 790 visitas
  18. Hola foristas. Hace un tiempo atrás Macro Antonio me ayudó a crear un formulario en el cual llenaba un ComboBox y un ListBox con la información que tenia en una Hoja. Lo modifiqué porque fui agregando varias cosas mas pero estoy perdido como turco en la neblina para acomodar el código a la nueva forma del formulario. El codigo es el siguiente: Private Sub Cat_Click()Dim Categoria As Boolean Ali.Clear If Cat.ListIndex < 1 Then Ali.ColumnWidths = "75;110;0" Else Ali.ColumnWidths = "90;0;0" End If For x = 2 To Alimentos.Range("B" & Rows.Count).End(xlUp).Row If Alimentos.Range("B" & x).Interior.Color = vbBlack Then If Cat.Text = …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 3.1k visitas
  19. Started by Johan.rico,

    Buenas tardes amigos, los felicito x tan excelente foro. Necesito con caracter de urgencia la ayuda de ustedes, requiero una macro que se ejecute de acuerdo a algunas condiciones, en un rango de celdas si agrego en una celda la letra P se ejecute la macro 1, si escribo una letra R en cualquier celda del rango, se ejecute la macro 2, y si escribo una I, se ejecute la macro 3. Muchas gracias de ante mano.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 929 visitas
  20. Started by joanlo,

    Buenas Tardes Tengo un formulario, que contiene unos 10 textbox, para los cuales quiero configurar las siguientes propiedades Private Sub TextBox_Enter() TextBox4.BackColor = RGB(245, 245, 245) End Sub Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox4.BackColor = RGB(255, 255, 255) End Sub Quisiera saber si hay alguna forma de configurar esto para todos los textbox con un solo código, y no tener que hacerlo para cada textbox..

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 3.7k visitas
  21. Hola a todos, tengo un archivo que le debo insertar imágenes a una lista en celdas combinadas, me pregunto si se puede modificar la macro que adjunto que es la que uso para insertar imágenes sin celdas combinadas. en este archivo que adjunto ya tenemos las celdas combinadas, no siempre van a haber celdas combinadas y la imagen debe caer en una celda. Al eliminar una imagen de la carpeta aparece en el archivo como imagen no encontrada, por lo que hay que "pegar la imagen como valor". Agradezco mucho la atención, les pido de favor me puedan a poyar con este dilema, gracias. ejemplo.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.6k visitas
  22. Started by Rogeliobus,

    Buenos dias amigos: les expongo mi siguiente inquietud: tengo el siguiente codigo: Private Sub UserForm_Initialize() Range("Idconsecutivo") = Range("Idconsecutivo") + 1 Me.TxtIdregistro = Range("Idconsecutivo") End Sub esto lo que hace es brindarme el consecutivo del siguiente registro a grabar, pero tengo el problema que si no grabo los datos correspondientes y cancelo la pantalla donde estoy grabando, el consecutivo que me brinda el codigo queda grabado y lo que quiero es que me quede el numero anterior. agradeciendo por su ayuda, les saludo

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 704 visitas
  23. Started by acol92,

    Hola! Necesito ayuda para realizar lo siguiente. Por un lado, tengo una presentación de Powerpoint, a la cual cargo automaticamente unas 100 fotos, colocando 2 por diapositiva, y debajo, el título con el cual está guardada la foto. Por otro lado, tengo un archivo de Excel, en el cual tengo 1 columna con IDs, y otra con direcciones. Ahora, lo que necesito hacer es que como título de cada fotografía en la presentación, me tome la dirección de la respectiva ID (nombre con el que está guardada la foto). Ejemplo: una foto se llama "770.jpg", al agregarla en la presentación, automáticamente debajo me aparece "770" como título. En el Excel, por ejemplo en la celda A2, dice "7…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 539 visitas
  24. Buenas expertos! Tengo un problema con una macro que estoy intentando realizar. Lo que quiero hacer es realizar una búsqueda en una hoja de un libro1 y a partir de la celda encontrada seleccionar 12 celdas a la derecha y copiarlas a otro libro en una celda variable (lo estoy intentando con i,j para poder incrementar la i y baje a la siguiente fila). Esto lo quiero integrar en un bucle que vaya bajando por filas y siga copiandolas al otro libro como he dicho antes hasta que encuentre una celda en blanco. ¿Me podrían echar una mano a partir de la búsqueda? Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 588 visitas
  25. hola quiero hacer una macro, en la cual pueda aplicar una formula CONCATENAR varios registros. a b c 1--- pedro martinez rodriguez =concatenar (a1;b1;c1) Como lo puedo hacerlo en una macro ya que son muchos registros. Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 922 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.