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. Buen día, tengo el siguiente problema: Necesito insertar un comentario en una celda de un registro de datos que se va completando a través de un Userform. Uso el siguiente código (En rojo, las líneas que insertan el comentario en la celda): Set TransRowRng = ThisWorkbook.Worksheets("RESUMEN GENERAL").Cells(1, 1).CurrentRegion NewRow = TransRowRng.Rows.Count + 1 With ThisWorkbook.Worksheets("RESUMEN GENERAL") .Cells(NewRow, 1) = CDate(txtFechaUno) .Cells(NewRow, 2) = UCase(TextBox1.Value) .Cells(NewRow, 3) = Format(TextBox3, "00"".""000"".""000""-""0") …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  2. Buenas Estoy intentando crear un macro para generar un reporte entre periodos que están en las celdas " D5 " y " F5 " de una tabla de Access, pero no logro que funcione. acudo a ustedes para que me ayuden a definir cual sera el error. Formato de la fecha en Access "29/07/2020 10:48:51" Application.ScreenUpdating = True NumId = (Format(Worksheets("usuarioF1").Range("D5").Value, "DD-MMM-YYYY") & "# ") NumIh = (Format(Worksheets("usuarioF1").Range("F5").Value, "DD-MMM-YYYY") & "# ") Set Cnn = New ADODB.Connection With Cnn .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "\01.Datos\Registro.accdb" .Open End With Set Rs = New A…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  3. Started by MarcoB,

    hola necesito hacer un excel en donde extraiga datos de varias web y poder actualizarlo cuando yo quiera así como una consulta web pero en estas paginas no se puede por lo que tendría que hacer una macro pero no se como hacerlo si alguien me puede ayudar (no quiero hacer un web scraping siento que sera mas fácil con excel ) trate de hacer un proyecto por esta pagina pero no me han respondido, de antemano muchas gracias comúnmente siempre responden las dudas si que se agradece pueden usar esta cuenta para ingresar (antes ya había hecho una pregunta pero sigo sin poder solucionarlo) https://www.standardandpoors.com/en_US/web/guest/ratings/entity/-/org-details/sectorCo…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.1k visitas
  4. Started by Geckox,

    Hola amigos, he estado utilizando este código de "EXCELeINFO – Excel vba e información - Otro sitio más de ITpro Blogs" para listar archivos de una carpeta: Sub ListFiles() iRow = 11 Call ListMyFiles(Range("C7"), Range("C8")) End Sub ' Sub ListMyFiles(mySourcePath, IncludeSubfolders) Set MyObject = New Scripting.FileSystemObject Set mySource = MyObject.GetFolder(mySourcePath) On Error Resume Next For Each myFile In mySource.Files If Right(myFile.Name, 3) = "mp3" Then iCol = 2 Cells(iRow, iCol).Value = myFile.path iCol = iCol + 1 Cells(iRow, iCol).Value = myFile.Name …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  5. Invitado R3Y468
    Started by Invitado R3Y468 ,

    Buenas tardes, soy nuevo en esto del visual basic, espero me puedan echar un cable, he conseguido una macro la cual la he ido adaptando a las necesidades, lo que requiero es que el rango que especifico, al pasar a la siguiente fila se mantenga el conteo, la macro funciona de la columna D9:J9 al repetir el valor "R" mas de 2 veces despliega el MsgBox y borra el ultimo valor Introducido limitandolo a 2 valores. Es una tabla que consta de los retardos de los trabajadores de lunes a domingo, el primer trabajador se ubica en D9 : J9, el siguiente en D10 : J10 el tercer trabajador de D11: J11 Y así sucesivamente, la macro solo me funciona con el primer trabajador, que al introd…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  6. hola muy buen dia a todos y feliz inicio de semana, y muchas gracias de antemano al foro y a todos los que de alguna forma me han ayudado. ya tengo mi archivo terminado con macros ya todo funcional ahora mi pregunta es la siguiente: como puedo usarlo como una plantilla ya que lo mismo que le hice al archivo es repetitivo o sea cada semana hay que hacerle lo mismo pero con diferentes datos en las filas a veces pueden ser 100 casos y a veces 500 mas o menos. saludos a todos

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.1k visitas
  7. Buena tardes, si me pudieran ayudar con el código para una Macro que permita abrir un correo nuevo en Outlook Office 365 y enviar un mail automático desde Excel 2010. En mi trabajo tengo una lista de clientes en las cuales cada determinado tiempo vence su contrato, me interesa que con la fecha de vencimiento se pueda enviar un correo a la persona asignada para recordarle que se termina el contrato y que en ese e-mail se adjunte una hoja del mismo excel, en formato de archivo excel de la hoja sola. Subject: Recordatorio de Fin de Contrato. Body text: Apreciado " Celda A2" su contrato finaliza " Celda E2", se envía recordatorio del fin de contrato para renovar. El nombr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.1k visitas
  8. Started by erick18121,

    Buen dia; En una hoja tengo desde el rango A2 hasta A100 nombres de Maquinarias y del rango B1 hasta AF1 fecha del 01-ene-2013 al 31-ene-2013. La intencion es que mediante un userform seleccionando la fecha con un DTPicker, en un ComboBox seleccionar la maquina y en un Texbox1 escribir un valor x. seleccionar celda intersectada por ambos valores buscados y colorcar el dato introducido en el Texbox 1. He intentado con el metodo Cells.Find pero no obtengo resultado. Espero Ayuda de su parte. Saludos...

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  9. Started by pearljam,

    Hola a todos. Veréis, tengo un problema que me trae de cabeza...Tengo un libro abierto llamado "Entrada de datos" y otro llamado "Perfilador" donde se van copiando cosas del primero al segundo.Pues bien, cuando acaba de copiarse todo lo necesario, quiero que se ejecute una macro del libro "Entrada de Datos" pero NO HAY MANERA! Tengo el siguiente codigoWorkbooks.Open "C:\Users\alvar\Downloads\Entrada Datos Fondos (Final).xlsm"Workbooks("Entrada Datos Fondos (Final).xlsm").ActivateSheets("Selector de Fondos Indexados").SelectRange("B7").SelectApplication.Run "Entrada Datos Fondos (Final).xlsm!Ejecutar_Buscador"Y me da un error que dice "no se puede ejecutar la ma…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  10. Started by mdiaz2006,

    Estimados amigos, tengo un sistema contable que seguí por internet del profesor Otto González y no puedo adaptar a los valores de Chile; le he escrito al profesor y no me contesta; es posible que alguno de ustedes me ayude para solucionar el tema? ingreso un valor de 15.000,00; me escribe en el formulario 1.500.000,00 y me envía al libro diario 1.500.00000 Desde ya les agradezco incidencias.docx Gestor de Contabilidad - Balance General.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.1k visitas
    • 1 seguidor
  11. Hello everyone as always when it comes to evaluating by column; I lose myself in a glass of water. My problem is this: 1) In Column (A2: A200) I should enter dates 2) I would like you to write me only the day of the week of that date every time I enter the dates in the column (B2: B200). 3) While in column (C2: C200) he wrote me the same thing as in column (B) but taking only the first letter. As for example: If in Column (B) it is written (Monday) in Column (C) it should only show the letter (L) that's all! Thanks as always for all the help you want to give me about it. Greetings from Maurizio Modificare_Giorni_Set_e_Giorni_Set_Solo_Prima_Lettera.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.1k visitas
    • 1 seguidor
  12. Muy buenas tardes, Normalmente mis macros son relativamente sencillas y luego, poco a poco voy puliendo detalles para hacerlas más rápidas y más cómodas. En el trabajo manejo un fichero con muchas rutinas: desde seleccionar un fichero txt y pasarlo a una hoja hasta seleccionar varios ficheros, recorrer uno a uno y realizar diferentes operaciones con ellos. Poco a poco la cantidad de cosas y subrutinas que he ido añadiendo (por necesidades de mi trabajo) han hecho que el tiempo que tardo en ejecutar todas las macros vaya incrementándose. No es excesivo aún, ronda el minuto y medio, pero se que trabajando con arrays o creando diccionarios (un compi que está de va…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  13. Buenas tardes, Estoy elaborando una base de datos para llevar un seguimiento de los juegos que tengo comprados en las diversas plataformas. Para ello, he elaborado un excel donde tengo una tabla de registro y una de búsqueda en la primera hoja. Y la base de datos propiamente dicha en la otra hoja. En la primera hoja contamos con un apartado de registro con dos celdas la del nombre del juego y la de la plataforma. Por otro lado, tenemos el apartado de búsqueda donde tenemos las celdas: nombre del juego, ¿Lo tengo? y plataforma/as. En la segunda hoja tenemos un total de 11 tablas (cada una haciendo referencia a una plataforma de juego/tienda). Mi problema …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.1k visitas
    • 1 seguidor
  14. Started by juandabi,

    buenas, descargue un estado de cuentas del mismo foro pero casi no lo entiendo, y la persona que lo hizo ya no contesta, entonces me gustaria que me ayudaran ya que la verdad no entiendo el codigo y trato de modificarlo pero no logro lo que necesito. entonces la pregunta exacta del codigo que no entiendo es, como amarro la celda en la hoja de estado de cuentas para que aparezca los pagos, y como hago para escoger mas columnas a llamar al estado de cuentas.. gracias Estado de Cuenta Clientes.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  15. Started by Janlui,

    Hola, dentro de mi formulario tengo un Multipage1. Como puedo saber cual es la página que se encuentra activa? (Page1, Page2 o Page3) Gracias por su apoyo. Saludos

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.1k visitas
    • 1 seguidor
  16. Hola a todos, tengo una macro que me busca una celda con una texto concreto, me crea una columna justo después y la rellena con una fórmula. Todo funciona, pero quiero que la fórmula la rellena solo hasta la última celda con datos de la columna vecina. Ahora tengo puesto que me copie la fórmula hasta la fila 6000. Selection.AutoFill Destination:=Selection.Resize(6000, 1) P.D: mi pregunta de hoy es más concreta y espero que sencilla :-) Muchas gracias de antemano! Paula RESIZE ejemplo.zip

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 2.1k visitas
  17. Multiplicar y Dividir celdas e Imprimir solo algunas columnas Estimados, quiero pedirles la siguiente ayuda. tengo un Formulario de consulta en el cual necesito modificar la Formula destacada con amarillo, para que multiplique la Columna “Cantidad” * ” Columna Valor” y luego dividir por la Columna “Gasto Promedio” With Sheets("hoja3") ' Tomamos última fila usada en hoja 2 para crear el rango a cargar i = .Range("A" & Rows.Count).End(xlUp).Row If i < 2 Then i = 2 'colocamos subtotal por linea .Range("H1") = "Km/Litro" For x = 2 To i .Range("H" & x) = WorksheetFunction.Sum(.Range("F" & x…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.1k visitas
  18. Hola a todos encontre este ejemplo en internet, pero no actualiza el cuadro. quiero que mediante el combo yo seleccione y automaticamente actualice la tabla dinamica. adjnuto el excel para que me puedan ayudar. gracias comboTablaDinamica.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.1k visitas
  19. Started by viniciusm,

    Estimados, necesito hacer una macro para reemplazar valores automaticamente en una formula, que seria la siguiente: =INDICE(Lista!C$2;COINCIDIR($B$8;Lista!A$2;0)) necesitaria que C$2; y A$2; sean reemplazados por $3, por $4, etc. y asi sucesivamente hasta un numero tal. Abajo dejo el ejemplo de como seria. =INDICE(Lista!C$3;COINCIDIR($B$8;Lista!A$3;0)) =INDICE(Lista!C$4;COINCIDIR($B$8;Lista!A$4;0)) =INDICE(Lista!C$5;COINCIDIR($B$8;Lista!A$5;0)) etc... Desde ya muchas gracias!!

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  20. Started by jek,

    Estoy tratando de crear una macro para ir almacenando datos en otro libro de excel sin sobreescribir los datos. Estoy utilizando esta rutina y no lo logro. No se cual es el error. Sub CopiarCeldas() 'Definir objetos a utilizar 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("C:\JORGE\PEDIDOS DE QUIMICOS\DATOS.xlsx") 'Activar este libro ThisWorkbook.Activate 'Indicar las hojas de origen y destino Set wsOrigen = Worksheets("Analysis") Set wsDesti…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.1k visitas
    • 1 seguidor
  21. Started by Visor,

    Saludos amigos del foro, he pasado ya varios días procurando tener código preciso el mapa apropiado para que excel está configurado para poder guardar a formato XML ya que en el generador de exámenes de Examview existe una opción para importar desde XML. Incluso tengo un archivo de libre descarga que estaba en XML y ha sido justamente hecho para ser importado por Examview, debo suponer que debe haber alguna versión que lo haya generado; en este caso Examview si lo importa sin problemas. Lo cierto es, que trate de basarme en este archivo XML para configurar el mapa de xml y ser agregado al Excel, pero no lo acepta. Fui eliminado código para hacerlo más simple hasta el punt…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.1k visitas
  22. Hola a todos! Tengo un formulario en VBA para registrar datos en una tabla de excel. Lo que necesito, es que cada vez que se hace click en el botón "Registrar" de mi formulario, en la primera celda de cada fila vaya generando algo así como un Autonumerico con formato "REG-0001" y al volver a cargar datos en el formulario y al apretar nuevamente dicho botón, lo haga con el código "REG-0002" ...03,04 y así sucesivamente.... ¿Alguien me puede guiar? ¡Gracias!

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 2.1k visitas
    • 2 seguidores
  23. Buenos días deseo colocar un sonido en un UserForm pero no he podido. Que cuando se ejecute suene. Musica-Balota.rar

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.1k visitas
  24. Hola a todos de la comunidad de AYUDA EXCEL, felicitarles a todos por sus valiosos aportes, en esta ocasión quisiera pedirles apoyo en el siguiente tema, para mi seria una gran herramienta que simplificaria mis labores diarias. gracias amigos.... NUMERACION AUTOMATICA.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.1k visitas
  25. Started by raultrres,

    Hola, tengo un problema con excel, desde un Commandbutton, y mediante combinar correspondencia, abro y auto relleno un archivo de Word, con el último registro de una tabla Excel. El problema viene cuando al tener abierto ese archivo Word, pulso de nuevo el mismo commandbutton, quedándose el userform bloqueado. Mi duda es como configurar para que al volver a apretar ese commandbutton no inicie la macro comprobando si esta abierto el archivo. Y por último no soy capaz de hacer que al abrir directamente se inicie el guardar como, para así no modificar el archivo base. Copio el código de la combinación de correspondencia. Private Sub PORTADA_Click() ruta = ThisWorkb…

    • 0

      Reacciones de usuarios

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