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

    porque me sale clase no registrada al tratar de personalizar mi listview Cuando seleccion un listview en mi formulario y le doy click en personalizar de las propiedades me sale: "Clase no registrada"

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  2. Hola a todos: Tengo una base con mucha infromacion que voy agregando, en diferentes periodos, me gustaria que con una macro quedara registro en una columna la fecha en que se registro la informacion o dato en otra columna. Saludos y Gracias Fechas.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  3. Started by federtuc,

    Buenas tardes, en un formulario cargo una imagen de un producto a un control Image y capturo en un label la ruta de la imagen, el Label1 queda de esta manera: C:\Users\fede_\Documents\NUEVA CARPETA\IMAGENES\INSUMOS\TECLADO GENIUS.jpg Hasta ahí todo bien, ahora necesito capturar solamente el nombre de la imagen sin la ruta en el Label2. En este ejemplo el Label2 tiene que quedar asi: TECLADO GENIUS.jpg Como puedo lograrlo?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  4. Started by pinoji,

    Hola foristas, espero que estén bien. Hoy acudo a ustedes para ver si pueden ayudarme en un proyecto que necesito para mi trabajo diario. Pretendo en este proyecto VBA llevar la facturación, cuentas por cobrar y la factura en sí propiamente. Me explico: un Libro con tres o cuatro Hojas, donde una Hoja sea la Factura en su modelo oficial, otra Hoja donde se irán almacenando (BD) los datos referentes a esas facturas y otra Hoja donde pueda ir representando las facturas por edades (30, 60, 90 +90 días). Esta hoja la tengo casi terminada con fórmulas o funciones para poder saber el envejecimiento de las mismas (Facturas). ¿Dónde está mi duda? Mediante un Formulario en V…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1.4k visitas
    • 2 seguidores
  5. Buenas tardes compañeros: Llevo tiempo atascado en dos cuestiones con un inventario y no doy con la solución, por si me pudiesen ayudar. Tengo 3 apartados : Alta (Funciona perfectamente), Buscar y Modificar. 1. En el campo buscar me busca en todo el documento, hasta aquí todo correcto. Pero me gustaría que me mostrase solo los siguientes campos. TxtLdap, txtUsuarioAD, TxtNombreyApellidos, TxtCrijaSob, TxtCrijaPor, TxtLineaFija, TxtLineaMovil. Aquí tengo un botón modificar que es para el siguiente paso. 2. En el UserForm Modificar me gustaría que me devolviese todos los valores introducidos en el Alta y poder modificarlos, pero me da un error …

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 1.4k visitas
    • 1 seguidor
  6. Started by Juanmasi,

    Hola a todos, soy nuevo en el foto y en estos mundos de la programación vba. Estoy realizando una hoja de registro de artículos pero no consigo incluir la opción modificar un registro. Este es el codigo que tengo para incluir artículos y creo que el mismo me podría servir para modificar. El problema es que con este código lo que hago es añadir un registro nuevo al final de la tabla en vez de modificar el que esta seleccionado en el combobox. (Espero explicarme para que me podáis entender ya que como os digo soy totalmente novato en este mundo) Private Sub BtnGuardar_Click() Dim Drep As Object, Registro As String If Txt_Precio = "" Or Txt_Descripcion = "" O…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.4k visitas
  7. Started by Edwin Parra,

    Buenas Tardes. Agradezco la ayuda, ya que tengo que generar una macro que me permita importar un archivo excel y validar su estructura (Sin botones), Solo debo crear el código en VBA y hacer el proceso. - Mi idea es: Importar el archivo en una variable y esa variable luego recorrerla para ir validando campo por campo pero no se como hacerlo en excel. El ejercicio especifico es este: Esa es la característica que debe validar la macro. Agradezco la ayuda y la pronta respuesta. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  8. Tengo un archivo de excel que quiero darselo a cada alumno pero con su nombre en el nombre del archivo, ejemplo: Plantilla (es el archivo de macro) y que cree Plantilla Juan Plantilla Ana Plantilla Maria tengo el listado de nombres en una hoja, el nombre del alumno tambien apareceria dentro de una hoja oculta para que nadie me presente archivo de otro. Lo hice con el grabador pero de esta manera siempre hay problemas Quisiera que este preparado para hacer archivos por igual cantidad a la de los alumnos, si en el listado hay 3 que haga tres archivos, si hay 10 que haga 10 archivos Y que los grabe en la misma ubicación en donde esta el archivo con la macro que d…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  9. Started by Xogas,

    Necesito una macro que cuando encienda la pc se abra un archivo de excel en la fecha determinada

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.4k visitas
  10. Me conseguí una macro que copia un rango de celdas variables a un nuevo libro lo que quiero modificar es que el nombre del nuevo libro lo tome de una celda de la pagina en B1 pero me da error aqui el codigo CODE Sub CopiarCeldas() 'Definir objetos a utilizar Dim Nom_Libro As String Nom_Libro = Range("B1").Value Dim wbDestino As Workbook, _ wsOrigen As Excel.Worksheet, _ wsDestino As Excel.Worksheet, _ rngOrigen As Excel.Range, _ rngDestino As Excel.Range 'Indicar el libro de Excel destino Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & Nom_Libro) 'Activar este libro ThisWorkbook.Activate 'Indicar las hojas de origen y destino…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  11. Started by ivanatp,

    Hola La verdad no se mucho de programar en excel y quisiera que me ayudaran con algo por favor tengo una fecha de cierre ej 06/13/12 y otra fecha 06/18/12 de vencimiento quiero hacer una macro sencilla que me muestra si la fecha de cierre a la de vencimiento fue menor o igual arroje una ventana o un celda que diga no vencido y si la fecha de cierre es mayor a la fecha de vencimiento me diga vencido, la verdad no tengo ni idea como hacerlo y me gustaría que me ayudaran con esto muchas gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  12. Started by ULISES,

    Buenas tardes compañeros Primero que todo un saludo y buenos deseos Tengo dos macros diferentes que tienen dos Workbook_Open y no se como hacer para que funcionen correctamente ya que individual hacen su trabajo pero juntos se genera un error que no permite mostrar las demás hojas del archivo a menos que se guarde el archivo otra ves, lo cual no debería de ser ya que tiene que ser automático al abrir el archivo con las macros activadas. Este seria uno Option Explicit Const WelcomePage = "Macros" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = False With ThisWorkbook If Not .Saved Then Select Case MsgBox("De…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  13. Started by terremoto96,

    Buenas tardes a todos. A través de la fórmula "Imagen" he conseguido insertar logos partiendo de un enlace de la imagen. Sin embargo, me gustaría concatenar los mencionados logos estando fijos en la celda, es decir, sin que pueda manipularlos como cuando inserto una imagen normal. Lo he intentado con la función "Concatenar" e "Y" pero no consigo dar con ello puesto que creo que no es posible. Por ello creo que solo a través de una macro podría llegar a hacerlo. ¿Podrían ayudarme? Muchas gracias de antemano PD: adjunto un archivo para que se entienda Concatenar logos.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.4k visitas
    • 1 seguidor
  14. Started by Abotos,

    Buenas tardes; soy nuevo por estos lares, por lo que ya me perdonareis si meto la pata en la forma de publicar o de preguntar. (Lo he puesto tb en Power Pi, pero igual con una macro se resuelve mas fácil) Una duda, creo que muy sencilla, para el que lo sabe claro; yo soy incapaz de resolverla. Tengo una tabla (Tabla) y he creado una tabla Dinámica (TablaDinamica) que quiero que me muestre los datos tal y como lo he remarcado en verde en la hoja "Tabladinamica", pero soy incapaz de hacerlo automáticamente; lo he hecho pegando parque por parque, pero claro esa no es la gracia; querría que lo hiciese automáticamente. Alguien me puede ayudar por favor. (La tabla es mucho ma…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.4k visitas
    • 1 seguidor
  15. Started by filirojas,

    Hola a todos: Necesito de su ayuda para ver que estoy haciendo mal en la siguiente Macro: La hoja destino = INGRESOS La hoja fuente es FACT 005, son varias hojas y cada una de ellas representa una factura, la hoja de ingresos pretendo llevar sólo una sumatoria de cada una de ellas. Sub pasando_INGRESOS() Application.ScreenUpdating = False destino = ActiveSheet.Name primvac = 4 For Each pestaña In Worksheets If pestaña.Name = destino Then GoTo otra: pestaña.Activate Fecha = Range("e19").Value Recibo = Range("d19").Value Codigo = Range("d10").Value Nombre = Range("a11").Value Importe = Range("i29").Value Iva = Range("i30").Value RetIsr = Range("i32") RetIv…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  16. Hola a todos: Creo que para lo que necesito, necesito una macro. Tengo una columna con cerca de 5000 filas, donde hay números del 0 al 25. Necesito que en otra parte de la hoja u otra hoja, me da igual, me agrupe (me cuente) los datos que son superiores a 19, y que además, me los agrupe de tal forma que: - Cada valor de cada celda, es como si fuera "1 segundo", y cada valor por encima de 19 se denomina "sprint". - Hay veces que los datos vienen así: 4, 5, 19, 4,10... Lo que significa que en ese rango hay 1 sprint de 1 segundo. - Hay otras veces, que los datos vienen de tal forma que: 6, 7, 19, 20, 10....lo que sería 1 sprint de 2 segundos (puesto que hay 2 numeros c…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  17. Started by oaseijas39,

    En la Imagen la descripción del problema.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  18. Started by isidrovj,

    facturar impresa y en PDF Estoy trabajando con mi factura Mi primer trabajo en excel 2010, pero no se como hacer que se guarde en PDF con el nombre que esta en la hoja "Imp_Fac" celda "M3" que se compone del No. factura, Nombre del cliente y Fecha de emision de la factura, tengo amyuni PDF converter y y poder asignar la ruta donde se guarde la factura en PDF, y que se imprima en la impresora default, espero haberme explicado correctamente captura los datos a facturar en la hoja "factura" y quiero que se imprima los datos de la hoja "Imp_Fac" Slds y gracias por valiosa ayuda FACTURA1.zip

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  19. Started by infesno_,

    Buenas estimados, Es posible reducir el código de la siguiente macro? Los slicers se pre-seleccionan dependiendo del usuario de la computadora donde sea abierto el reporte, el libro está bloqueado con ribbon y pestañas ocultas, el problema del código es que son varios usuarios con diferentes accesos por lo que se puede hacer extenso. Muchas gracias por la ayuda. Sub slicer() ' ' slicer Macro ' Application.ScreenUpdating = False Dim usuario As String usuario = Environ("username") If usuario = "perezq" Then MsgBox "Bienvenido " & usuario Sheets("control").Select With ActiveWorkbook.SlicerCaches("Slicer_País24") .SlicerItems("Costa Rica").Select…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  20. Hola, me gustaría crear una lisa a partir dos valores dados por el usuario mediante dos inputbox. de momento tengo esto: Sub inputbox_granalcancelista() Dim i As Long Dim a As Long i = InputBox("introduce el número inicial", "LISTA NÚMEROS", "type here") a = InputBox("introduce el número final", "LISTA NÚMEROS", "type here") Range("A1").Value = i [AQUÍ NO SÉ QUÉ AÑADIR] End Sub

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
    • 1 seguidor
  21. (Ante todo perdon por la ausencia de tildes pues estoy usando un teclado extrangero ) Hola a todos. Tengo el siguiente problema: Resulta que tengo que hacer una macro que, en Word, busque las imagenes de un archivo Excel para importarlas a este. Como no tenia ni idea de como hacerlo, busque un pequenho ejemplo que recorre las distintas imagenes en la hoja excel. Asi pues, tengo el siguiente codigo: Dim ExcelApplication As Excel.Application Dim ExcelWorkbook As Workbook Dim ExcelWorksheet As Excel.Worksheet Dim img As Shape Dim chrt As ChartObject Dim Nombreimg As String Dim i As Integer Set ExcelApplication = New Excel.Application Set …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  22. Started by cfraustor,

    Hola que tal., antes que nada los felicito por esta pagina tan ilustrativa, me ha ayudado mucho con los pendientes del trabajo. El asunto que traigo hoy es el siguiente, he conseguido esta macro que me convierte una hoja de excel en txt,. En las columnas 13 y 14 existe una formula que dice que si no existen caracteres, inserte x numero de espacios en blanco, y al momento de convertir el archivo en txt no me los considera, es decir termina la cadena de texto donde termina el ultimo carácter de la columna 12,, adjunto el archivo de excel y un ejemplo del txt que genera. Ante todo muchas gracias por su ayuda. Saludos desde AGS., MX. txt de ejemplo.tx.txt Macro Carga.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  23. Started by thelma,

    Hola ojala q alguien me pueda ayudar, necesito una macro que me guarde un archivo adjunto de Outlook, pero que sea de un dominio especifico ej. @ssss.com y que sea guarde cuando reciba el mail, osea que no lo tenga q ejecutar yo q se ejecute automaticamente cuando me llegue dicho mail de dicho dominio, ya tengo un Scrip Este es mi codigo, y la verdad es que lo encontre, ya qu no se programas , espero q puedan ayudarme.... Sub GetAttachments() Dim ns As NameSpace Dim Inbox As MAPIFolder Dim Item As Object Dim Atmt As Attachment Dim FileName As String Dim i As Integer Dim SubFolder As MAPIFolder Dim strInter As String 'Abajo pongo el nombre o parte del nombr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  24. Muy buenas, Tengo una macro que he podido ver por la red que me permite guardar una hoja de excel en formato pdf y la envia por correo. Lo que neceisto es que al guardar en PDF me permita poder ponerle el nombre de archivo, y no utilizar el mismo siempre y que lo este machacnadop. Os paso la macro ç, por si podeis echarme una mano, soy un usuario basico en esto de las macros y llevo poco timpo, por lo que se me compplica y esta funcionalidad la necesito. Gracias. Sub Saveaspdfandsend() Dim xSht As Worksheet Dim xFileDlg As FileDialog Dim xFolder As String Dim xYesorNo As Integer Dim xOutlookObj As Object Dim xEmailObj As Object Dim xUsedR…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  25. Started by bada,

    hola como puedo hacer para que al presionar un boton me sume ejemplo: la celda D1:E1 y me la guarde en la celda F1 y si ingreso nuevos valores a las celdas d y e me las sume con un for aqui mi codigo : suma= WorksheetFunction.sum(Range("D1:E1")) Worksheets("Hoja1").Range("F1") =suma donde hace la suma pero la quiero para mas celdas sin repetir el codigo ya que quiero sumar mas de 100 celdas saludos y gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k 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.