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 a todos: Tengo la necesidad de crear un macro que asignado luego a un boton me copie un rango de celdas de una hoja excell que en mi caso se llama "Acciones" que se habrá montado en esa misma hoja tras un filtrado de acciones (Si no hay filtro alguno sería Rango (J3:AN111) ) a una nueva hoja que se cree al final del libro con la posibilidad o bien de nombrarla al crearla (como tengo hasta la fecha preparado la 1ª parte del macro) o copiando el dato que se copia desde otra hoja ("Inicio") en la casilla K5. El rango copiado debe mantener el mismo formato de celdas y columnas (existen algunas combinadas), aunque tambien me surge la pega de que al pegarse ese rango, la…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  2. Started by dalia alarcon,

    Buenos días, espero alguien me pueda ayudar debe ser algo muy sencillo pero no tengo idea como hacerlo. Tengo un código para que me muestre el contenido de una celda en un textbox de un formulario, como puedo mantebner el dato en el textbox aún cuando inserto o elimino filas o columnas en el libro de excel, es decir , en B1=546 cuando inserto una fila pues el 546 ya esta en la celda B2, cómo hago para que se modifique esto automáticamente en el código VBA y me siga mostrando el 546 en el textbox El código que tengo ahora es Private Sub TextBox1_Change() With UserForm1 .TextBox1.Value = Range("=b1").Value End With End Sub consulta foro.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.8k visitas
  3. Started by germangandi,

    Muy buenos días compañeros del Foro Yo soy bastante nuevo en esto de BVA y lo poco que se lo he aprendido por mi cuenta investigando en internet y preguntando a personas que ya lo manejan. Estoy realizando un formulario en Excel 2007 en el cual voy a digitar los datos obtenidos en una encuesta en papel. El problema que tengo, debido a mis pocos conocimientos, es que no se como asignarle a un TextBox un rango de valores más un valor extra. Por ejemplo: el Textbox1 quiero que solamente acepte valores de 1, 2, 3, 4 y 99. Sé como hacer del 1 al 4, pero añadirle el 99 no tengo idea como hacerlo, ya probé varias formas pero no lo he logrado hasta el momento y les agradecería…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  4. Started by jmollan,

    Estimados. El archivo adjunto es un buscador de productos el cual busca la informacion dentro de la hoja listado, filas "B:D", pero necesito que realice la busqueda dentro de las filas "B:I", estuve revisando el codigo pero no logro realizar el cambio esperado, espero su apoyo para resolver este problema. Mi macro realizara la busqueda en 5000 registros, no demorara en buscar los datos?. Saludos CAMBIOS-1.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.8k visitas
  5. Started by jabrajam,

    Buenas noches al foro, Os pido ayuda con un codigo que he encontrado y que no soy capaz de poder csmbiarlo para que me sirva. Os explico, el codigo que os muestro me realiza la siguiente operacion, me copia lo que tenga en la hoja 1 el la celda E2 en la hoja 8 en la colunma c y luego lo que tenga de la hoja 1 desde E11 a E 58 en la hoja 8 debajo de lo ultimo escrito en la columna C, hasta hay practicamente correcto( digo practicamente porque de E11 a E58 existen una serie de campos vacios que me gustaria que los obviara pero no se como), pero para el siguiente registro me vuelve a copiar todo el nuevo registro en la hoja 8 en la columna C a partir de la ultima celda va…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.8k visitas
  6. Started by danino4,

    Buen dia Tengo la siguiente macro que lo que hace es generar un archivo en txt, subi un ejemplo de como me genera las polizas (poliza 3) Esta macro toma los dados de una sola fina, lo que necesito esque la funcion se repita en varias fila, por ejemplo, si se corre en dos filas me debe de crear el txt con la informacion de las dos filas, subo un ejemplo de como necesito que quede en la poliza 2. Si alguien me pudiera ayudar meseria de mucha utilidad de antemano gracias. Póliza3.txt pólizas2.txt

    • 0

      Reacciones de usuarios

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

    Hola estimados buenas tardes, tengo un problema, estoy haciendo un sistema de facturación en macros y cuando hago Click en el botón Buscar Articulo me sale una lista de mis productos pero al costado quiero que salga la imagen que esta guardada en una carpeta espero su ayuda, gracias

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 1.8k visitas
  8. Solicito su ayuda para ver si es posible hacer una macro para que al ingresar en la celda b2 por ejemplo el numero 9, en el rango a:a600 se repita 9 veces el 1, despues 9 veces el 2, 9 veces el 3... es decir de la fila 1 a la 9 que haya 1, de la 10 a la 18 que haya 2 . Desde ya muchas gracias, y si es posible hacerlo mediante una formula tambien me va servir pero yo no pude hacerlo de ninguna de las dos formas

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  9. Started by jesuspg,

    Hola a todos, Tengo el siguiente problema: Me gustaría desactivar las casillas "Código" y "Nombre Fiscal" de mi formulario cada vez que un usuario activa la opción "Cliente", tal y como se ve en la siguiente imagen. Es decir, cada vez que se activa la opción "Cliente" que aparezca un fondo color gris y no se pueda escribir nada sobre las casillas tachadas de rojo. Cómo se haría? Con un evento change? Y cómo hago para identificar la página "Denominación" activa dentro mi formulario multipágina? He buscado ayuda por internet, por manuales y por videotutoriales, pero no he conseguido encontrar nada al respecto sobre este tema complejo. Si algui…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.8k visitas
    • 1 seguidor
  10. Started by tazne,

    Saludos, tengo un catalogo para piezas automotrices al que le agrege un motor de busqueda con VB. Soy nuevo en este proceso y las variables de mi tabla son muy amplias. La tabla tiene 12 columnas, A,B D es Marca, Modelo y Año y quisiera que el resultado de la busqueda me arrojara el resultado de las celdas correspondientes en las columnas F y H. Ejemplo de la tabla: Marca Modelo X año Y DEL Z TRAS Fiat 500 x1 2012 y1 D123 z1 T456 Fiat 500 x2 2012 y2 D456 z1 …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  11. Started by pserrats,

    Hola, Necesitaria saber como hacer que al clickar la pestaña de una hoja para cambiar de pantalla se me abra un MsgBox preguntando si estoy seguro de querer salir ya que al pasar a la hoja principal se me reinician todos los valores. Como lo puedo hacer? Muchas gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.8k visitas
  12. Started by juanmanuel85,

    Que tal, les cuento mi problema: Tengo una macro que envia correos a una columna determinada, gracias a la ayuda de los chicos del foro al agregarle la funcion "specialcells(2) inclusive puedo enviar correo aunque no esten todas las celdas completas... ( ejemplo en el archivo"FUNCIONA BIEN SIN CONDICIONAL") Agrege una hoja al archivo ("datos ")para hacer una condicion en la que si el estado del usuario es VENCIDO, figure un email en esa columna,sino " "... y ahora me sale un mensaje de error 1004 "NO SE ENCONTRARON CELDAS" al apretar el boton en la pestaña CORREO. adjunto los dos archivos el que anda bienj sin condicional y el que estoy teniendo probl…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.8k visitas
  13. Buenas, Necesito ayuda, no domino mucho el excel y no doy con la macro que necesito. Lo único que necesito es crear archivos txt individuales con el nombre de cada celda, encontré una macro que me valía pero lo tenia que hacer celda a celda y necesitaría que lo hiciera por rangos. si se creara automáticamente al guardar nuevos datos sin necesidad de ejecutar la macro perfecto pero seria un add. Adjunto la macro que encontré por si sirve de ayuda. Sub GeneraMiniArchivoDeTexto() Dim myfile As String, mytexto As String myfile = ThisWorkbook.Path & "\" & _ Cells(Selection.Row, "a") & ".txt" If Dir(myfile) <> "" Then Kill myfile mytexto = Cells(Sel…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  14. Buenos Días a todos. Acudo a su sabiduria por que estoy armando un registro en Excel y no se como desarrollar el codigo VBA, he buscado por muchas partes pero no logro ajustar la macro a lo que necesito. Tengo un boton, el cual quiero que genere un hipervínculo entre la celda E9 de la hoja 3 (valor de la celda = 12) a un archivo PDF que se encuentra en la carpeta mis documentos con el mismo nombre - Ejemplo: 12.PDF. Menciono que los archivos PDF se generan segun el valor de la celda - doy Click y el valor de E9 es 13 y se crea un archivo 13.pdf - Click y el valor de E9 es 14, se crea archivo PDF 14.pdf hasta ahí todo bien pero no se como hacer el hipervincu…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.8k visitas
  15. Holas necesito me colaboren, necesito hacer un formulario con un registro de proyecto y apenas le de registrado el me lleve a una base de datos en una hoja de excel la fecha de hoy que por defecto carga el sistema, luego abra un formulario pequeño de recordatorio donde yo pueda darle los dias en numeros enteros consiguientes para crear el recordatorio. Es decir yo registro el proyecto con la fecha de hoy y que en otro textbox coloque 10 y me registro un recordatorio en outlook para el dia 15 de enero sin importar la hora Gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.8k visitas
  16. Buenas Tengo una excel a la que le inserto datos a través de un formulario, y los datos pueden modificarse a través de otro formulario. El problema es que uno de los campos es un listBox multiselección que al insertarlos datos los coloca en una celda separados por ",". Pero al recuperar los datos no consigo que el listbox queden esos datos seleccionados al cargarse. ¿Podeis ayudarme? Sub modificardat() On Error GoTo ErrorHandler 'recuperamos el indice de control de la solicitud indice = SelecionarDatoForm.ListBox1.Value Unload SelecionarDatoForm 'borramos los datos de la hoja 3 Worksheets("Hoja2").Range("A1:P" & Ult).Delete …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  17. 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
  18. Started by Marce01,

    Buenos Días, soy nuevo en esta pagina y no entiendo mucho sobre macros, estoy mas que nada tratando de aprender ademas de volver mas dinámico mi trabajo. La ayuda que necesito es para crear una macro que básicamente me calcule los intereses, consiste en que tengo dos libros de excel, con dos hojas distintas, en un libro tengo la base de datos, el cual coloco valores negativos o positivos dependiendo de la situación del contribuyente (en el cual los negativos son las deudas), en la otra lista tengo formulas inventadas por mi no mas, para llevar a cabo el calculo de los intereses; Cada planilla esta dividida en conjuntos (0-1, 2-3, 4-5, 6-7, 8-9) según el CUIT de cada uno.…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  19. Started by eduar5,

    Buen día nuevamente, Agradeciendo y al mismo tiempo aprovechando la buena voluntad de ayuda. Necesito un código que realice lo siguiente: Que no pueda guardar si los primieros tres textbox se encuentran vacios y si por lo menos uno de los textbox tiene valor que sí me permita hacerlo, conseguí un cod. pero solamente me funciona con el textbox1. Otro punto sería condicionar los primeros textbox a que acepten solamente números, eso tomando en cuenta que en ellos he colocado un cód. que me permite sumar dentro de cada textbox. Por su ayuda muy agradecido. Condicional p G.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.8k visitas
  20. Started by olguita922,

    hola amigos espero se encuentren bien, miren tengo una duda con un codigo que tengo, lo que pasa es que tengo un combobox que al escribir el nombre me abre el userform2 el problema que tengo es que si tengo dos nombres iguales pero con apellidos diferentes cuando tecleo por ejemplo carlos me abre automaticamente el userform2, lo que quiero es que hasta que ponga el nombre completo con apellido me abra el userform2, pero no se que estoy haciendo mal. espero me puedan ayudar gracias :calm: Private Sub UserForm_Initialize() Dim celda Dim X For Each celda In Sheets("Clientes").Range("A2:A" & Sheets("Clientes").Range("A" & Rows.Count).End(xlUp).Row) …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.8k visitas
  21. Hola Como podría guardar un archivo utilizando el contenido de una celda concreta. El tema es que tengo una plantilla que se irá actualizando en función de la introducción del DNI de la persona y quisiera que se grabara automáticamente según ese campo en concreto. gracias

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.8k visitas
  22. De nueva cuenta es un gusto saludarles. El motivo de la presente es para solicitar su apoyo en lo siguiente: Realize un macro en el que me hace un filtro avanzado para las hojas INGRESO y EGRESO de un archivo, según el nombre del propietario. Hasta ahí todo va bien, sin embargo lo que deseo es poder comparar valores acorde a la columna llamada "NUMERO DE NOTA", de este modo, quisiera que en el resultado del filtro avanzado, los valores que me arroje el proceso del filtro sean ordenados ascendentemente (según el número de nota) y que aquellos datos que tengan el mismo NUMERO DE NOTA en INGRESO como en EGRESO queden una a la par de la otra. Se que con palabras es muy difí…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.8k visitas
  23. Started by Puche,

    Hola buenas noches, He estado investigando y no consigo realizar una búsqueda con los campos de mas de 10 columnas. El método que utilizo es el Additem y este solo me permite hasta un máximo de 10. Adjunto método y archivo: Private Sub txt_btfiltro_Click() numerodatos = Hoja9.Range("A" & Rows.Count).End(xlUp).Row ListPedidos = Clear Y = 0 For fila = 3 To numerodatos numeropedido = Hoja9.Cells(fila, 3).Value If UCase(numeropedido) Like "*" & Me.txt_pfiltro.Value & "*" Then Me.ListPedidos.AddItem Me.ListPedidos.List(Y, 0) = Hoja9.Cells(fila, 1).Value Me.ListPedidos.List(Y, 1) = Hoja9.Ce…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.8k visitas
    • 1 seguidor
  24. 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
  25. Started by Benito Bartolomé,

    Buenas tardes; -Adjunto una macro con una serie de valores y en una determinad columna los tengo separados por comas. Ejemplo: 12, 20 ,11,102,6,205, etc... Os he marcado con dos colores porque dichos colores forman como una especie de binomio. Puede haber uno o hasta veinte. Lo que quiero es reemplazar el número que pongo de color azul por texto. MS, 20 ,LS,102,PS,205, etc... Enlace video: https://youtu.be/sJxiPJ96eC4 También adjunto macro. Saludos a todos. MMaq.zip

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 1.8k visitas
    • 2 seguidores

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.