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 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
  2. Started by Janlui,

    Hola a todos. Alguno de uds. tendrá un formulario que al abrir el archivo excel solicite nombre de usuario y contraseña. Gracias anticipadas. Saludos.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
    • 2 seguidores
  3. 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
  4. 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
  5. Hola! He intentado realizar una consulta a la base de datos como lo muestra la macro de éste archivo como se describe en ésta página, sin embargo el sistema me muestra el mensaje de error "Compilation error User defined type not defined". ¿Podrían ayudarme a solucionar ésto? ¡Muchas gracias!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  6. 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
  7. Hola. ¿Hay alguna línea de código para indicar el movimiento de las flechas up/down/left/right? He intentado grabar una macro pero no parece recoger este movimiento. Gracias.

    • 0

      Reacciones de usuarios

    • 17 respuestas
    • 2.1k visitas
    • 2 seguidores
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. Buenos días a todos. Llevo varios días intentando realizar lo siguiente con unas hojas de excel, pero no he sido capaz: Tengo varios miles de registros de pacientes de nuestro hospital en una hoja excel, con varios campos (número de historia clínica, edad, sexo, centro de salud de referencia etc...). Estos datos los hemos sacado de la base de datos de nuestra historia clínica electrónica. El problema es que en muchos de los pacientes hay datos incompletos, es decir, por ejemplo falta el centro de salud, o falta el médico habitual. Cada paciente además puede tener más de un registro, correspondiente a cada una de las visitas a urgencias, ingresos hospitalarios etc... …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  22. 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
  23. 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
  24. 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
  25. 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
    • 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.