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

    Les comento: Me solicitaron que en función a ciertos % de avance que obtenga cada Provincia, se le adjudicara un color en particular (el usuario los podrá cambiar) no es complicado solo que me hace falta el Mapa en excel (Shapes) por Provincias. Si alguien lo puede compartir genial o si ya existe algo en el foro... mejor. Saludos desde México.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
    • 1 seguidor
  2. Started by xinortiz,

    Buenos tardes estimados acudo a ustedes en esta ocasión para que me ayuden en lo siguiente: tengo un listado de productos(cada producto tiene su precio de lista y su Nombre cuenta de gastos) Lo que en un inicio realiza es generar pedidos (eligiendo tienda, cuenta de gastos), luego selecciona producto de la lista y lo agrega a la HOJA PEDIDO Aquí viene mi solicitud: Deseo que toda la lista de la HOJA PEDIDO, se consolide por fila y fecha(fecha, mes, año) , totalizando Cantidad y Total, tal como se ve en el ejemplo de la hoja C1 y que también se consolide por fecha (año, mes),Nombre cuenta de gastos y TOTAL, tal como se ve en el ejemplo de la …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 851 visitas
  3. Buenos días amigos, Tengo el siguiente problema con una Excel que estoy armando para el costeo de personal, resulta que en 2 formularios "frm_RegistroOpe" y "frm_RegistroOpeAdd" le inserté un filtro para que busque en las marcaciones de asistencia en base al DNI (Documento de identificación) y a la fecha de marcación, si no hay coincidencia entonces me lanza un mensaje diciendo que el personal no tiene marcación, pero no me está funcionando, ya probé todo tipo de código y no encuentro la solución, solamente llega a reconocer al primer dato de la tabla o al último, pero lo que yo necesito es que busque en toda la tabla, puse el siguiente código: Private Sub Command…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 956 visitas
  4. Started by Nancy,

    Buenas noches a todos. Se lo que le voy a pedir, para ustedes es algo fácil en la cual para mi es algo difícil. espero su gran ayuda. https://postimg.cc/1nnXDN5W IMG del Proyecto esto es solo en suma y resta. El esquema es el siguiente: 1 Cartas ----- dará -1 ------- ejem: vemos arriba "3 Energía" " 6 Cartas " presionamos "1 Cartas" -- daría "2 Energía" "5 Cartas" que se pueda jugar con los botones cuando agregan cartas, si tal caso da "0" que salga mensaje "No tiene mas energía" Cuando presiones el el botón " Pasa Turno " dará la siguiente suma "dará +2 Energía +3 Carta" El botón " + Energía " solo dará " +1 Energía " …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 986 visitas
  5. Started by YianTheJOP,

    Buenas tardes compañeros, a ver si me podéis ayudar con esta macro la cual me funciona perfecta pero ahora a parte de remarcar en color las diferencias en la columna B de las dos hojas también me piden si se puede hacer que me sume el valor de las celdas de la columna M de ambas hojas y el resultado aparezca en la columna Q solo de los valores de las celdas sin color, que serian las que se repiten de una hoja en otra. Esta macro me funciona perfecta, he remarcado en rojo donde creo tiene que ir lo que pido y leo y leo y no termino de encontrar una solución. ¿Me pueden ayudar? El código que estoy utilizando es este: Sub CompararStock() Dim …

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2k visitas
    • 1 seguidor
  6. Started by DARIEN HERNANDEZ,

    Se puede crear un macro en donde cuando el worbook abra, siempre abra en otro tab del Ribbon? Me explico cuando uno abre el documento de excel siempre abre con el Tab del "Home" preselecionado. Sin embargo hay varios como Insert, Page Layout, Formulas, Data e incluso uno que yo creé. Puedo hacer que por default abra con ese tab que yo creé en el ribbon?

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
    • 1 seguidor
  7. Started by pinoji,

    Hola Foristas. Buenas a todos. Espero estén bien de salud. Una vez más por acá con dudas. Primero: En el Formulario (UserForm6) Pretendo insertar los Datos Generales de la Empresa que se imprimirán en las hojas correspondientes. Estos datos se fijarán una primera vez y no “deben” modificarse a no ser que alguno de ellos cambie en algún momento. ¿Cómo puedo mantener los Datos en sus respectivas celdas sin que cambien? ‘Este es el código (inconcluso): Private Sub BtnGuardar_Click() 'Validar que se ingresen Datos en todos los Campos If Me.TxtEmpresa.Text = "" Then MsgBox ("Debe completar el campo: " & Me.TxtEmpresa…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 788 visitas
    • 1 seguidor
  8. Started by 96andres96,

    Buenas tardes. Voy a hacer una especie de caja registradora en excel, y por ello voy a tener en una hoja diferentes macros que corresponden a diferentes productos. Entonces lo que quiero es que al cliquear en el macro del producto pues en una celda aparezca un 1, si vuelvo a cliquar en dicho macro de producto pues el 1 sea un 2, de esta forma pues se sumarán tantos productos como clics haga en la macro. Sin embargo, como la suma tengo que ir haciéndola en una única celda no se me ocurre cómo acumular la suma de los clicks en esa única celda. ¿Alguien sabe y me puede ayudar? Gracias de antemano.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 773 visitas
  9. Hola amigos, a ver si podéis ayudarme: Tengo una base datos creada con aproximadamente 1.000 registros (filas) que con una macro va rellenado otra base de datos general (que tiene también otros datos) Lo que querría conseguir es que en el momento que incluyo un registro en la B.D. General, quedara marcado en la primera (la ya creada) por ejemplo con un color que marcara toda la fila, o con negrita u otra manera, con el fin de que resalte y cuando abra la base de datos (la ya creada) pueda ver de una ojeada qué registros han pasado ya a la b.d.general y lo que es más importante para mí , cuales son los que faltan de trasladar. Espero haberme explicado …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 843 visitas
  10. Buena tarde Estimados tengan un excelente día, lo que estoy tratando de hacer es cambiar el foco del formulario al navegador Chrome activo a penas seleccione un código en el combobox. Hay alguna forma de hacer esto, la desconozco. De antemano muchas gracias, quedo atento sus comentarios Help.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 973 visitas
  11. Buenas tardes @Antoni y demás usuarios, Referente a su aportación del EXCEL Comparar dos hojas, simplemente, excelente, espectacular, inigualable y mis más sinceras felicitaciones. Con su permiso la parte de "lectura\traslado" de archivos Excel es excelente y lo he añadido a un mini proyecto nuevo que me han solicitado en el trabajo. (Y creo que lo utilizaré en más ocasiones). El formulario de momento queda así, (Obra suya al 99% por supuesto). Lo único que añadiré, a parte de colores, es un botón nuevo a su formulario que ejecute una macro que lo que necesito y pretendo es que: Busque en la columna B2 de la Hoja 2 hasta el último dato " en…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  12. Started by jeaa,

    Buenos dias, expertos necesito una ayuda que requiero generar una macro para concatenar valores de las celdas de la hoja Verificar Matriz desde la columna E hasta la columna V, dicha concatenación debe ser visualizado en la hoja llamado Principal en la columna E y el resultado debe dar como el siguiente ejemplo "1-Marca="Mica Kids",2-Modelo="SUNNIES LENT",3-Dimensiones="rojo",5-Estilo="40 x 30 cm",6-Forma="Infantil",7-Material principal="Irregular",8-Composición="Poliéster",9-Material del relleno="Sí",11-Información adicional="China"", dependiendo los tipos de datos de las diferentes columnas, pero la concatenacion no lo debe tomar las celdas cuyo datos sean "0" cero (deb…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 983 visitas
    • 1 seguidor
  13. Started by DARIEN HERNANDEZ,

    I want to Call a routine that I have it into a UserForm. But I tried to call from a Module and I'm receiving a error msg. This is the routine that I have inside a CommandButton of the UserForm Public Sub HO_Issuance() Set myCell = ActiveCell myCell.Value = "TAILBOARD " ActiveCell.Offset(2, 0).Select Selection.Value = "THIS IS " & TextBox_OIC.Value & " INFORMING " & TextBox_EIC.Value ActiveCell.Offset(1, 0).Select Selection.Value = "THAT THE RECLOSING HAS BEEN DISABLED ON " & TextBox_Feeder.Value ActiveCell.Offset(1, 0).Select Selection.Value = "UNDER HOLD-OFF # " & ActiveSheet.Range("J2").Value ActiveCell.Offset(2, 0).Select…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 572 visitas
  14. Started by eugeniocol,

    Hola buenas. Necesitaria una macro que copiara un rango de celdas que contiene formula cada 5 Filas hasta la fila 4998. Seria copiar C3:I7 con la funcion = Empezando en Fila 3 y terminaria en Fila 4998 Se repetiria cada 5 filas. Un Saludo.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 980 visitas
    • 1 seguidor
  15. Started by jeaa,

    Buenas tardes, expertos solicito una ayuda para concatenar dos columnas una de ellas es en cuanto a la fechas, lo que pasa es que la macro que tengo concatena muy bien, solo tengo un inconveniente con las fechas dicha columna (I) estas formateadas por ejemplo asi: Feb-20 pero al concatenar el resultado asi: O-2AA6220/09/2021, pero asi no quiero, me gustaria concatenar que salga asi: A-234RV44032 los 5 ultimos digitos son de la fecha, bueno asi me gustaria que quede, la macro que estoy usando es: Sub Concatenar() uFila = Range("H" & Cells.Rows.Count).End(xlUp).Row pFila = 1 For fila = pFila + 1 To uFila Range("O" & fila) = Range("H" & fila) &am…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 840 visitas
    • 1 seguidor
  16. Started by vecodis,

    Buenos días, Soy bastante novato en macros por lo que agradecería me guiaseis para construir una macro que importe datos de Web, concretamente la Web es Moningstar, en la cual tengo una cartera con información de Fondos de Inversión. El problema es que tengo que acceder a una opción dentro de la Web que es; Mi Cartera y posteriormente, Acceder a una cartera existente, en la cual me pide Usuario y Contraseña.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 977 visitas
  17. Buenos dias expertos, requiero una ayuda, lo que pasa es que tengo una hoja que importa datos de diferentes libros externos y funciona perfecto, pero lo que pasa es que en la columna B aveces faltan datos ya que debe ser la misma palabra "DIGITAL", lo que requiero es una macro que me copie o me rellene la palabra antes mencionado hasta la altura de los registros importados. Por favor me pueden apoyar con dicha macro estare agradecido de todo ustedes se que en esta comunidad hay muchos expertos. Adjunto el archivo. Consolidado.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 650 visitas
  18. Started by pancho0423,

    Hola, Me estoy volviendo loco tratando de hacer una macro, que en realidad es muy sencilla. Simplemente se trata de una columna con fechas separadas por ptos. (ejemplo 01.01.2021) que la copie en otra columna separada por barras , con formato 01/01/2021. Sin embargo, en alguna fechas me cambia el orden de los meses y los días, y no sé como solucionarlo. Sucede entre otras fechas el 12.07.2021 que lo transforma en 07/12/2020 Pongo una hoja de ejemplo. Gracias de antemano !EJEMPLO.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.7k visitas
    • 1 seguidor
  19. Started by JosMa,

    Hola, necesito unir un rango grande de celdas, utilizo la función =UNIRCADENAS("";VERDADERO;A19:AS150) y luego voy arrastrando hacia abajo para que haga lo mismo en las filas de abajo, que también son muchas. ¿Con macros se podría utilizar esta función, como sería? Gracias

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.8k visitas
    • 1 seguidor
  20. Started by pinoji,

    Hola Foro, una vez mas por aquí. Espero que todos gocen de excelente salud al igual que su familia. Tengo un proyecto, que aun esta en mi mente, nada escrito, pero en el trabajo de mesa que hago antes de iniciar algo lo tengo como una opción y me gustaría saber si es posible y de que manera. Le comento: Quiero en una Hoja de excel generar un comprobante económico (Cuenta, Subcuenta, Análisis, Detalle, Titulo, Fecha, Débito o Crédito, etc) todo esto en columnas y quiero saber si es posible cuando este cuadrado ese comprobante y yo desee, exportarlo en formato .dbf ej. (comprobante.dbf) para después poder integrarlo al Sistema Contable. Siempre es un placer i…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 999 visitas
    • 1 seguidor
  21. Hola. Tengo un libro que al abrirlo y cerrarlo especialmente, se dispara el calculo del libro en repetidas ocasiones. Tiene una conexión de Power Query y una conexión a una carpeta de Sharepoint. Tiene 4 hojas y he minimizado las formulas. Las conexiones las he puesto para no actualizarlas manualmente. Ya no sé que puedo hacer mas. Alguien me podría orientar qué debe estar pasando para que salte el calculo del libro varias veces al abrir o cerrar el libro? Gracias. MJ

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 673 visitas
  22. Started by muyayito,

    Buenas foro. Acabo de darme cuenta de que internet explorer desaparece y lo va a sustituir microsoft edge. Tengo muchas macros con las cuales hago scraping, abro internet explorer y relleno formularios, descargo paginas web, etc. Hay algo respecto a este cambio? En referencias de vba no he visto nada para microsoft edge, y ya que estoy aqui, hay algo para hacer scraping con firefox mozilla que no sea selenium?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
    • 1 seguidor
  23. Started by lphant,

    Buenos días a tod@s; Esto liado con una consulta SQL de Excel a Excel y me ha surgido una duda que supongo que no se podrá pero….por si acaso se puede para que me ayudéis. La consulta es una consulta básica en el que filtro por un campo ( situación ) pero en los datos que me reporta, en uno de los campos ( Numero ) necesitaría que solo me reportara los primeros 6 caracteres. Query = "Select Artículo, Casa, Numero from [" & "Musica$" & "] where Situación= 'Ok' " En el campo Numero tengo 12 caracteres. Ejemplo: 123456SA0014 Solo necesito 123456 He probado con substring(Numero,1,2) pero da error método open de objeto recordset. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 986 visitas
  24. Started by Jorge12321,

    Hola!! Necesito unir tablas de distintas hojas de calculo y crear una nueva hoja, para esto he estado utilizando la siguiente macro (Adjunta) pero me entrega los valores que estan en la celda con formula y los necesito solo como valores. ¿Que puedo hacer en este caso? ¿Qué me recomiendan? Sub Extraer_Datos() Dim shDestino As Worksheet Dim ufo As Integer, ufd As Integer Set shDestino = Worksheets.Add(After:=Sheets(Sheets.Count)) shDestino.Name = "d" For I = 1 To Sheets.Count - 1 If Sheets(I).Name = "ESCUELAS" Then Else ufo = Sheets(I).Range("A" & Cells.Rows.CountLarge).End(xlUp).Row ufd = shDestino.Range("A" & Cells…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.1k visitas
  25. Started by lsmaniahotmail.com,

    Saludos a todo Ayuda execel , queria pregunta sobre un problema que no logro resolver : en el formulario tengro un txtbox donnde ingreso una fecha ( 03/09/2021) , cuando corro la macro esta coloco en la tabla de datos la fecha en otro formato es decir 09/03/2021, Se que bva trabaja con formato americano(ee.UU)asi que probe inclullendo en el codigo de registrar lo siguiente Sheets("Auxiliar").Range ("A2:A")=Format ("mm/dd/yyyy" pero sigue poniendo la fecha con formato americano, que estoy haciendo mal?

    • 0

      Reacciones de usuarios

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