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 tardes espero se encuentren muy bien al igual que toda su familia, quisiera saber si alguien tiene idea de como escribir en una celda una función que tenga como referencia una tabla (pero de nombre variable). Adjunto un ejemplo corto de como sería con la función IF en una celda. (Realmente es para una formula más compleja y una macros mas extensa pero presento un problema como este al querer referenciar tablas que se crean al clonar una hoja de trabajo). Cabe aclarar que la tabla existe y tiene el nombre de las dos ultimas letras de la hoja trabajo. He intentado ya .Formula .FormulaLocal .FormulaR1C1 y nada me funciona. ¿Que podría hacer? Ag…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 534 visitas
  2. Started by Antoni,

    Hola a todos: Días atrás alguien publico una consulta con este título, más o menos, lo cierto es que esta consulta ha sido eliminada. No obstante y dado que he desarrollado una solución, la subo por si es de interés para alguien. La macro permite seleccionar cualquier número de columnas en cualquier orden y copiarlas en la misma hoja o en una nueva. Como curiosidad, decir que genera el código VBA necesario para realizar la operación en un textbox, se puede copiar dicho código, o incluso, generar la macro en el Módulo1, por si se quiere utilizar la macro de forma regular sin tener que volver a escoger las columnas. Abrir el adjunto, y como siempre…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 854 visitas
  3. Started by kloxtnx,

    Buenas tardes, de abte manos muchas gracias a la comunidad por la ayuda quisiera seleccionar la ultima celda con datos y copiarla para posteriormente pegarla en una hoja nueva, este es mi codigo Sub Copiar_Valores_Contabilidad() Sheets("Extraer_Rutas").Select For i = 2 To Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A" & i).Select Selection.Copy Next Sheets("Rutas_Fs").Select ActiveSheet.Range("A2").Select ActiveSheet.Paste End Sub …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 427 visitas
  4. Started by cblancop_cl,

    Tengo un archivo Excel habilitado para macros en el cual tengo una hoja en la cual he definido 6 listas, a las que necesito ir agregando Items, he creado un formulario que contiene 6 TextBox y cada uno de ellos con un Botón de Comando para Ingresar el dato en la correspondiente tabla dinámica ubicada en la hoja "Listas" y un Botón de Comando para hacer una limpieza del TextBox. Estoy recién iniciándome en la programación de macros y les agradecería muchísimo me pudiesen ayudar con un código para realizar esta tarea. En otra oportunidad los miembros JSDJSD y Antoni me brindaron una valiosísima ayuda en un ListBox con la que pude avanzar, de la cual estoy muy agrade…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 800 visitas
  5. Buenos días a los miembros de este prestigioso foro, recurro a uds, para que brinde su apoyo con una macro, el cual me permita borrar los valores que contengan 0.00 en las celdas c y d. A la espera de su ayuda, quedo agradecido por su colaboracón. MACRO PARA ELIMINAR.xlsx

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 858 visitas
  6. Started by kloxtnx,

    Buenas noches tengo esta cade de texto \\000.000.000\recepcion\A. MENARINI LATIN AMERICA, S.L.U. - SUCURSAL COLOMBIA\900932340.ME10110.pdf pero quiero extrer solo esta parte 900932340.ME10110.pdf quisiera por favor saber que codigo me sirve para extraer esa parte o bien extraer una parte deseada una idea de esto como yo lo hago normalmente en ecxel es que utilizo la funcion buscar ("/") y pues digamos que me arroja 3 luego vuelvo a utilizar la funcion, pero esta ves en ves de numero inical 1 pongo 4 para que omita el primer "/"

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 1k visitas
    • 1 seguidor
  7. Started by Giancarloch,

    Muy buenas tardes estimada comunidad Me podrían ayudar con esta macro, Tengo una macro que me genera un reporte de inventario en un archivo excel, el archivo tiene códigos y formulas para la descripción de cada código, Ejemplo. Código - Descripción 001 Zanahorias. 002 Cebollas. 003 Tomates. 004 #N/A. La macro continua después de llenar los campos de "descripción por medio de formulas, lo que necesito es que, la macro me muestre un mensaje cuando no encuentre un código en la base de datos por ejemplo el código #N/A cuando encuentre este valor que me de un mensaje que me diga "Por…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
    • 1 seguidor
  8. Buenas tardes comunidad, Actualmente tengo este problema que he estado desarrollado en un formulario desde varios aporte que he visto, pero que no he podido solucionar este caso, necesito filtrar la informacion de dos datos especificos que se encuentran en otro Libro excel y traer uno, Ejemplo. Código de despacho - Descripción - Lote 001 Zanahorias 9121 001 Manzana 9121 002 Peras 9121 003 Cebollas 8090 003 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 516 visitas
    • 1 seguidor
  9. Started by walterin111,

    Buenas tardes, me pueden ayudar no me pone el Si y la Hora en el codigo ELECCIONES1.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 507 visitas
    • 1 seguidor
  10. Started by vivasamcooke,

    Hola a tod@s. Mi nombre es Carlos, programador durante más de 20 años y que dejó de serlo (profesionalmente) hace 10... La verdad es que hasta ahora poco me había tocado lidiar con EXCEL, pero ser el tuerto en el país de los ciegos de mi trabajo me ha llevado a tener que hacer "cositas" para facilitar el trabajo y la extracción de información de ficheros EXCEL. El caso es que tengo que buscarme la vida para que los usuarios introduzcan una serie de datos (alrededor de 40 por fila) para guardarlos en otra hola del mismo libro. a través de un formulario, userform o a base de controles activeX o de formulario. Muchos de los datos están relacionados con tablas …

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 957 visitas
    • 2 seguidores
  11. Hola Amigos y Amigas, necesito que me ayuden con este planteamiento. Necesito cargar desde una Hoja de Excel a tres ListBox todos los registros de la Cuenta que la Hoja Resumen Crat-Cli encuentre en la Hoja CartolaCli (Cuenta, Razón Social, Vencimiento, Monto o Importe), El evento debe suceder al dar Enter “ONKEY” en la celda de la columna A donde está la cuenta en la Hoja Resumen Cart-Cli. La Cuenta y Razon Social encontrada debe cargar en el encabezado del Form1, el vencimiento y el importe de debe estar distribuido en tres ListBox según condición de Clase de Documento: Factura (DF) Nota Crédito (DN) Transacción (DZ) En el caso de Factura están separado la suma de s…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 733 visitas
    • 1 seguidor
  12. Hola comparto con ustedes una archivo de excel con una hoja, que tiene botones flotantes. Al iniciar la hoja los botones se pondran de color rojo (significa que no han sido usados) una vez se de click sobre uno, en la secuencia el siguiente se pondra en color amarillo (significa que es el que sigue de usarse), el anterior se pondra de color verde (significa que se ha utilizado ya y si se da click en el mostrara un mensaje diciendo que no es posible repetir la accion de este boton, ya que ha sido utilizado), despues de usar el boton amarillo, este se pondra de color verde y el que sigue cambiara a amarillo y asi sucesivamente. Donde de un click con el raton los botones le …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  13. Started by Felix de Jesus,

    Hola buenas tardes a todos, espero puedan ayudarme, tal vez sea algo muy sencillo, pero llevo ya varios días atascado con esto... Tengo varios archivos(25) con datos de ventas de distintas sucursales, con ayuda de power query y una macro he logrado reducir todos los datos en una estructura que espero convertir en mi base de datos, para lograr esto, me falta rellenar los espacios en blanco de la fecha y el numero de tienda. Esto, sin macro lo hago marcando con ceros el final de los valores en las columnas de fecha(que es muy facil ya que es la misma para todos) y numero de tienda, regresando al inicio, poniendo la celda activa en el valor a rellenar luego shift+tecla …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2k visitas
  14. Started by dell24,

    hola tengo una duda, tengo varios libros de Excel ordenados de forma Numérica, cada libro de Excel tiene 4 hojas con su título y su información que puede varias en filas con información de uno a otro libro, quiero pegarlo en otro libro de Excel, como especie de un consolidado, pero de forma ordenada, es decir la información de la hoja 1 del libro 2, se copie y pegue debajo de la informacion de la hoja 1 del libro 1, la del libro 3 debajo de libro 2 y asi sucesivamente, quine pueda colaborarme con el codigo macro , Gracias de antemano

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 438 visitas
    • 1 seguidor
  15. Started by ALBERTO_SP,

    Buenos días, ante todo disculpar si es un tema resuelto pero he buscado y no lo he encontrado, os cuento por si me podéis ayudar con una duda que no he podido resolver. Necesito acceder a los MSForms.CheckBox creados desde un modulo clase para bajar o subir su posición en el formulario , y quiero acceder a ellos utilizando su nombre y para ello utilizo el texto que se encuentra recogido en una hoja del libro. Por ejemplo a este, Public WithEvents TREINTA_Y_SEIS As MSForms.CheckBox En la celda de excel, Sheets("Datos").Range("A" & X).value, aparece el valor TREINTA_Y_SEIS Dim Evaluacion As MSForms.CheckBox Set Evaluacion =Sheets("Datos").Range("A…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 807 visitas
  16. Tengo un formulario con un TextBox para ingresar fecha. Solo digito números porque el guion se coloca automáticamente. El problema se presenta cuando quiero borrar carácter por carácter de derecha a izquierda no me deja por el guion. ¿Cómo podría modificar el código para que permita borrar de esa forma? Private Sub TextBox1_Change() If Bandera = False Then If Len(ActiveControl) > 10 Then ActiveControl = Mid(ActiveControl, 1, 10) MsgBox "lA fEcHa eStA CoMpLeTa" Else If Len(ActiveControl) = 2 Then ActiveControl = ActiveControl & "-" End If If Len(ActiveControl) = 5 Then ActiveControl = Act…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 1 seguidor
  17. Buenas tardes, un gusto enorme ser miembro de este foro. Les pido su ayuda por favor, tengo cinco hojas y en cada una de ellas un rango y modelo de planilla diferente que se completan y se diferencian por fecha, la idea es que una vez que termino una planilla en la hoja, pueda copiar la misma planilla debajo de la primera ( pero vacia) y empezar el proceso de carga nuevamente, el problema es que no logro hacer que el foco del cursor se posicione en la primera fila de la planilla copiada y asi sucesivamente o en todo caso en la ultima fila de la nueva planilla copiada. Desde ya agradecido Remito codigo a modo de indicar lo que pretendo hacer Sub copiaryp…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 381 visitas
    • 1 seguidor
  18. Started by pinoji,

    Hola colegas, buenos días. Espero se encuentren bien de salud. Antes que todo ofrecer mis disculpas porque no creo que esta sea una plataforma para este tipo de escrito, pero no encuentro otra opción y quiero que el mensaje llegue. Me es difícil hasta escribir esto, pero por razones ajenas a mi voluntad voy a estar mucho tiempo (creo que bastante) fuera de este MARAVILLOSO FORO. (Ojalá esté equivocado) Los problemas que está presentando mi país, que todo es un verdadero desastre, sumados a mis problemas personales me han obligado a tomar tan dura decisión. Todo este tiempo ha sido muy provechoso para mí, he aprendido lo que nunca imaginé, he innova…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 485 visitas
    • 3 seguidores
  19. Started by Jorge23951,

    Hola, necesito crear de alguna manera que los datos ingresados en una celda vuelvan a ser ingresados y si no es el mismo que se ingreso la primera ves genere error hasta que sea el mismo ingresado anteriormente

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 528 visitas
  20. Started by JuliusAndre,

    Buenas noches estimados, recurro a ustedes por qué no encuentro solución a este problema: Tengo un formulario en VBA para registrar pacientes, tiene varios Textbox para rellenar, pero para el registro no se llenan todos. El asunto es que cuando se hace el registro y se envían los datos a una Tabla en Excel, algunos de los TextBox vacíos llenan la celda con algun caracter invisible que hace que Excel considere a la celda no vacía. Si selecciono esas celdas me hace un conteo, pero las celdas aparentemente no tienen nada. Les adjunto la tabla, el error se da en las celdas de los encabezados rojos, y el codigo del boton de registro. Para evitar este error he coloca…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
    • 1 seguidor
  21. Started by Benito Bartolomé,

    Hola a todos; Estoy intentando vaciar el contenido del portapapeles y no logro hacerlo. He usado esta instrucción y no me va. Desconozco otro método alternativo. Probé con la grabadora pero lo único que puedo conseguir es ocultar la ventana del portapapeles. Un saludo a todos. Libro1.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.6k visitas
    • 2 seguidores
  22. Started by JoseLuisLG,

    Estoy intentando imprimir un rango de hojas de un pdf en una ruta en concreto pero no me funciona. Imprime el ramgo pero del Excel en ve del Acrobat. Sub imprime() Dim rutaPDF As String rutaPDF = Sheets("Hoja1").Range("D2") F = Cells(2, 7) T = Cells(2, ? pid = Shell("C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe " & Chr(34) & rutaPDF & Chr(34)) Worksheets.PrintOut From:=F, To:=T DoEvents 'Paso 5 - Esperar que se Imprima el PDF hnd = OpenProcess(PROCESS_TERMINATE, True, pid) 'Paso 6 - Obtener el handle(manejador) del proceso(Adobe Reader) …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 625 visitas
    • 1 seguidor
  23. Hola vi un video de un archivo lo que hace el archivo de excel en el que de un pdf have un tipo de preview en un rango de celdas pero es un objet, que cuando le da dos clicks sobre este object se abre el pdf del que se tomo la informacion. Es muy interesante el como funciona, otro detalle es que seria genial si los previews de los pdf's fueran tomados de otros rangos de celda y no fuera desde el mismo codigo para un solo pdf. El detalle es que siguiendo las instrucciones no lo pude hacer funcionar, espero el video resulva algunas de las dudas que pude generar al tratar de explicar lo que deseo hacer, lo que hace el video esta mostrado en los primeros 15 o 20 segundos de…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 487 visitas
    • 1 seguidor
  24. Hola, tengo la siguiente tabla: date employee motive text 01/01/2022 PETER B baja 01/01/2022 MARY R ruta 01/01/2022 ANN R ruta 02/01/2022 PETER B baja 02/01/2022 MARY R ruta 02/01/2022 ANN R ruta 03/01/2022 PETER B baja 03/01/2022 MARY R ruta 03/01/…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 747 visitas
    • 1 seguidor
  25. Hola, para ocultar la cinta de opciones en el libro activo he utilizado el siguiente código, no obstante, aunque me permite pegar datos copiados entre hojas del mismo libro en las celdas desbloqueadas, cuando copio datos de otro libro se deshabilita las opciones de pegado. Private Sub Workbook_Activate() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" End Sub Os agradezco vuestra ayuda, muchas gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 431 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 sergio@ayudaexcel.com

Información adicional: Encontrarás más información en la política de privacidad.