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? A ver si me explico tengo una instrucción que me crea un txt (bueno en este caso un .bat) desde una macro de excel para para insertar el contenido que tengo en una celda en el .bat , pero este me lo genera en codificación ansi por defecto y cuando voy a ejecutarlo no me pilla correctamente los acentos ni la ñ por eso necesitaría darle formato utf8 cuando sea generado el .bat ¿alguna idea de como puedo hacerlo ? ' Declaramos los datos de en que celda se encuentra la ruta del .bat a crear Nombre_archivo = Range("E2").Value Letra = Range("A2").Value N_Carpeta = Range("C2").Value N_Terminada = Range("D2").Value 'Crea…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.8k visitas
    • 2 seguidores
  2. Buenas tardes, Tengo el siguiente problema, y no sé cómo afrontarlo: Me gustaría almacenar en una variable objeto de tipo Range todas aquellas celdas de la misma columna que coincidan con el mismo nombre de la ciudad. Por ejemplo, quiero almacenar dentro de una variable range todos las celdas de la columna ciudad que contengan el nombre ALMERIA, en este ejemplo sería RANGE(B2:B3). Dim rango as Range Set rango = RANGE(B2:B3) En el siguiente ejemplo, sería con CADIZ... rango = RANGE(B4:B7) Y así sucesivamente hasta llegar al final de la tabla. Tengamos en cuenta que los datos están ordenados, de no ser así sería más complicado...…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 812 visitas
    • 1 seguidor
  3. Buen día, Llevo todo el día intentando solucionar el error de 1004: no se puede copiar la hoja " sin ningún éxito, hice la prueba copiando otras hojas del libro y me lo permite pero no entiendo porque no me deja copiar y pegar la hoja "Portada". Espero me puedan ayudar, por favor. MacroCampañas.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 411 visitas
    • 1 seguidor
  4. Started by pinoji,

    Buenas tardes colegas. Espero se encuentren bien de salud todos. Necesito un aporte de ustedes. En el formulario FrmEmpleado almaceno una serie de datos, entre ellos la Edad de cada uno de los empleados, pero yo necesito que la misma se genere de manera automática a partir del numero de identidad que es el campo que le precede. Me explico; El campo CI (TxtIdentidad) recoje el número de Identidad permanente de cada Cubano y esta formado por: los seis primero dígitos la fecha de nacimiento, los 5 restantes son tomo, folio y sexo, A nuestros efectos e interés los 6 primeros. Por ejemplo, mi numero permanente es 66020108609 donde 66 en el año de …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.8k visitas
    • 3 seguidores
  5. Started by muyayito,

    Buenas a todo el foro. En una macro adjunto un archivo para enviar por correo de esta forma: adjunto = ActiveWorkbook.Path & "\" & Hoja1.[M3] & "\" & Hoja1.[M2] & "\CS_report.pdf .Attachments.Add adjunto Como lo haría para insertar todos los pdf que empiecen por "CS"? Gracias por adelantado.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
    • 1 seguidor
  6. Started by JerryO,

    Hola espero me puedan ayudar, sucede que tengo una macro que abre otro archivo y la tengo programada para que se ejecute periódicamente cada hora, el problema es que cuando se abre por primera vez se ejecuta de maravilla pero a la siguiente hora que se volverá a ejecutar intenta abrir el archivo pero como ya esta abierto no deja ejecutarse por que sale el mensaje que el libro YA ESTA ABIERTO, SI LO VUELVE A ABRIR PERDERÁ LOS CAMBIOS QUE NO HAYA GUARDADO, DESEA VOLVER A ABRIR EL LIBRO? y no continua hasta que manualmente opriman el botón de si o no, el problema es que para que se ejecute cada hora necesito a alguien que oprima el botón cada hora ya intente cerra…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 815 visitas
    • 1 seguidor
  7. Buenas tardes, Tras estar intentandolo y no llegar al resultado os transmito la consulta. Tengo en una hoja "denominada hoja1", un rango de celdas de f4:f14. En la celda A1 de la hoja1 tengo un texto. Necesitaria que se buscase en la columna A de la hoja2 la coincidencia de ese texto ubicado en la celda a1 de la hoja1 y pegar el rango en horizontal ubicado en el rango F4:F14 en esa misma linea. Es decir, os pongo un ejemplo: hoja1 celda a1: Pedro rango f4:f14: distintos datos. hoja2 buscar en la columna a el nombre de pedro y en esa fila pegar los valores del rango f4:f14.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 608 visitas
    • 1 seguidor
  8. Ok os mando este archivo para que por favor me ayudéis a dejar este código mejor ... yo soy matemático ... solo llevo un par de año con las macros y con vosotros .... y me gusta mucho cuando me dais perspectivas nuevas de cómo hacer las cosas. Como siempre muchas gracias de antemano por vuestra valiosa atención. video.mp4 deCuaABAse.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1k visitas
  9. Buenas noches a todos y todas, tengo un formulario muy sencillo con diferentes campos que se activan en cascada. Los dos últimos campos son ListBox que se cargan a partir de unas listas en función de la selección que hemos ido haciendo antes. Me funciona todo bien... el problema que tengo es que se modifica el alto de los cuadros del listbox y quiero que quede fijo, como la he diseñado en el formulario "original". En el caso que las listas ocupen más espacio del tamaño del ListBox, se activan los scrolls tanto vertical como horizontal para que el usuario pueda ver todo el contenido. Al modificar su alto lo que hace es que el ListBox me tape unos botones que nec…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
    • 1 seguidor
  10. Buen día a todos, un gusto saludarlos. Tengo la siguiente macro, que exporta un archivo de imagen a partir de un rango de celdas, funciona correctamente si se hace step by step desde VBA (F8), sin embargo, al correr la macro desde una llamada o desde un botón, la imagen que se exporta sale completamente en blanco, he intentado varias soluciones, pero hasta ahora no ha funcionado ninguna, este es el código: Sub img() Application.ScreenUpdating = True Dim Izq As Single, Arr As Single, Ancho As Single, Alto As Single Application.DisplayAlerts = False Sheets("Hoja1").Select With Range("B2:P104") Application.Wait (Now + TimeValue("0:00:05")) …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
    • 1 seguidor
  11. Hola, chicos, a ver si podéis ayudarnos. Partimos de esto: Pasamos por la Plantilla Se podría copia la info del txt de cada estudiante? y pegarla en la fila 8 y 9 en cada hoja para inglés y Matematicas Para después renombrar cada archivo con el nombre del estudiante extraído del txt? SE ADMITEN TODAS LAS POSIBILIDADES INCLUSO CAMBIAR EL XLSM A XLTM y hacerle warch ojalá puedan ayudarme. Muchas gracias a todos siempre Explicación: Student_Class1A_23224_Eng.txt Student_Class1A_23224_Math.txt Student_Class1A_23225_Eng.txt Student_Class1A_23225_Ma…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1k visitas
  12. Started by SAMUELPR,

    Buenas, estoy intentando ver una formula que va contando del 0 al 100 pero cada ves que llegue a 5 me coloque una A es decir seria= A5, despues continue con el A6... hasta que llegue al A9, despues siga con el B10... hasta el B14, después con el C y asi sucesivamente, como lo haria?

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 808 visitas
    • 2 seguidores
  13. Started by lsmaniahotmail.com,

    Buena a todo el el equipo tengo una pregunta de concepto si puede llamarse asi , el tema es tengo en yoja 1 una tabla de clientes y en hoja 2 una tabla de pedidos y a traves de un formulario que se llenan con los datos de hoja2 tengo un combo que debe llenarse con el correo del cliente que estan en la base de datos 1. mi pregunta para no cpmplicarme con el codigo que no domino muy bien pueda completar el la propiedad de combo en rowsource con : =hoja1!"F:F" o esta mal expresdo por que no consigo que se llene. probe tambien con codigo (el que muestro) , pero me error Sud indice fuera de intevalo Private Sub UserForm_Initialize() Dim rango As R…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 680 visitas
    • 1 seguidor
  14. Started by pinoji,

    Hola colegas, buenas tardes reiteradas. Vuelvo por acá, ahora para que me brinden ayuda con una alerta. Me explico: Este es el proyecto del que les comenté que mi Jefe me pidió hacer. En el FrmCombustible debo crear dos (2) alertas, UNA - Que un (1) mes antes de vencerse las tarjetas me envíe un MsgBox : "La Tarjeta " & " se vence en un mes" El Listado de tarjetas está en la Hoja5 (Auxiliares). Se debe tener en cuenta que puede estar en blanco o vacío (Empty) este campo. Yo comencé a trabajarlo, pero me "perdí", porque creo se debe generar un ciclo que recorra las tarjetas y las fechas de vencimientos y las compare con la fecha…

    • 0

      Reacciones de usuarios

    • 23 respuestas
    • 1.6k visitas
    • 2 seguidores
  15. Started by Moratti,

    Hola Lo que necesito es que cuando se posicione en la celda activa, que tiene que ser la G8 y ésta esté vacía, muestre el formulario UserForm1 Lo que yo tengo hasta ahora es esto, que me enseña el formulario cuando la celda activa es la G8, If ActiveCell.Address ="$G$8" then UserForm1.Show Else UserForm1.Hide

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 353 visitas
    • 1 seguidor
  16. Buenas tardes grupo Recuro a usted a ver si alguno me puede ayudar con un problema que tengo. Tengo mi configuración regional en español (los campos numericos el searador de desimales esta con una coma "," ). el problema surge cuando quiero enviar datos al SQL que esta en ingles que el separador de desimales esta con un punto "." llevo semanas intentando con varias alternativas y ninguna me funciona todas dan error [microsoft][ODBC SQL Server Driver][SQL Server]error converting data type varchar to numeric Algunas de las alternativas que he probado son las siguientes. Sql = Sql & "'" & Format(ActiveCell.Offset(0, 8), "[en-US]…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  17. Started by Gabriela hg,

    hola buenas tardes! Gracias por su ayuda, les comparto el archivo, en las columnas que necesito modificar están en amarillo, la fecha la necesito en año/mes/día y en las otras columnas quiero que me respete los concepto que son : Referencia = Datos Pago de Factura = Nota de crédito Concepto = Descripción anexo el archivo y de ante mano mil gracias Carga Almacen.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 503 visitas
    • 1 seguidor
  18. Started by alfsanchez880,

    Os cuento, he realizado una encuesta en forms y eso me genera un excel que adjunto. En función de las respuestas quiero dar pesos, os cuento mi idea Consta de 8-9 preguntas ( dependiendo de la respuesta en la pregunta 7 se abre o no una pregunta adicional) 5 obligatorias y 4 opcionales. De las 5 obligatorias el máximo que se puede obtener son 100 puntos. La 4 opcionales dará un máximo de 10 puntos si se molestan en contestar (2,5 cada una) La pregunta 9, adicionalmente servirá para otorgar los premios del reto. Puntuación máxima 110 puntos Pregunta 1 Ordena por prioridad qué es lo que más te motiva para pertenerce al programa YOU …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 472 visitas
    • 1 seguidor
  19. Started by pinoji,

    Hola colegas, buenas tardes. Espero se encuentren bien de salud. Tengo un pequeño Proyecto donde trabajo las Ordenes de Servicios y necesito en el FrmEquipamiento, cuando agregue un nuevo registro poder insertarle una foto de ese equipo, o sea, en el ejemplo, en el registro 2 tengo Nevera Vertical y necesito agregar una foto de dicha nevera. Realmente no lo he hecho antes y necesito de su ayuda. Adjunto el Proyecto. De antemano gracias. Un saludo Pino Ordenes v1.0.0.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
    • 1 seguidor
  20. Buenos dias a todos: Espero que me puedan ayudar, no se mucho de macros pero viendo tutoriales he podido listar los archivos de una carpeta a través de listado de nombres de una ruta y posteriormente tengo una macro que mueve los archivos de la carpeta "A" a la carpeta "B", pero los mueve todos, a mi me gustaría que solo moviera los que filtro. Sub MoverArchivos_Trabajo_en_curso_a_Compartido() Dim MiArchivo As String MiArchivo = Dir("D:\Users\carodrigueza\OneDrive - FCC\Prueba planos vigentes\01 Trabajo en curso\*") If MiArchivo = "" Then MsgBox "No hay archivos a mover.", vbExclamation, "torpe" Else Do Until MiArchivo = "" …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 831 visitas
  21. Hola colegas, buenas tardes y ojalá se encuentren bien de salud. Colegas, no salgo de una para entrar en otra. Ahora mi Jefe me pidió que le hiciera un Proyecto para controlar el Parque de Transporte con respecto a Gasto de Combustible, Mantenimientos, Hojas de Ruta y Choferes, nada fácil para mi, pero me gustan estos "Retos" porque de cualquier manera aprendo tanto de VBA como de las normativas sobre los temas del transporte. Ya he tenido unos cuantos tropiezos, pero poco a poco voy resolviéndolos y voy a necesitar mucho de sus ayuda que realmente son los que saben, como siempre, acudiré a ustedes después de agotar mis "recursos de conocimientos". Por el m…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 1 seguidor
  22. Started by lsmaniahotmail.com,

    muy buenas tardes a todo el equipo y colegas en excel , se me planteo la siguiende duda, como arrmo dentro de mi codigo guardar ( en hoja1)de un formulario VBA que 2 o 3 txt entre tantos que existen en dicho formulario me los guarde tanbien en las tablas de hoja2, hoja 3 , Hoja4 y por supuesto que no se pisen si ya hay datos . bueno espero se comprenda

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 701 visitas
  23. Saludos compañeros, Necesito recorrer un rango de celdas en una hoja "PLANTILLAS" y validar cuáles son distintas de cero, las que cumplen el criterio uso esa referencia y el contenido en otras celdas (en esa misma hoja) para llevarlas a una tabla en una hoja "TABLA_DATOS" . Soy novato en esto, hice una macro pero no se comporta como espero puesto que copia los datos que cumplen con los criterios y los que no también, además que la información la exporta cientos de veces (seguramente hay algo que no está bien definido con los bucles) . De antemano agradecido, espero puedan ayudarme. A continuación la macro: Public Sub enviar_datos() Application.ScreenU…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 513 visitas
  24. Started by pinoji,

    Buenas tardes colegas. Espero se encuentren bien de salud. Colegas, en este pequeño Proyecto pretendo trabajar el Comprobante de Operaciones de las Nóminas de los trabajadores de mi empresa y he creado un grupo de "herramientas" para facilitar mi trabajo y un grupo de informaciones que debo brindar, pero para completar o "redondearlo" necesito convertir un archivo .xlsx en .dbf. He estado preguntando si existe alguna manera de hacerlo, si alguno de ustedes conoce un medio o método que me pueda ayudar, por lo pronto yo lo que pretendo hacer es lo siguiente: 1.- Crear un archivo (puede ser .xlsx o .xls) con nombre Comprobante Nomina, que debe ser el que se en…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 972 visitas
    • 2 seguidores
  25. Started by childres12,

    Hola buscando el la web me encontré con un generador de etiquetas QR solo que no eh podido adaptarlo a mi proyecto , los codigo qr los genera sin problema , solo que busco que se pasena otra hoja en una celda en especifico segun corresponda al valor ejemplo en la celda A1 tengo el valor 01 y deseo que el el codigo qr generado con el 01 se pase en C1 de la otra hoja , adjunto archivo espero haberme explicado muy bien y que me puedan orientar ya busque otras alternativas pero el que genera qr con formula me hace lento el archivo

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 444 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.