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 Benito Bartolomé,

    Buenos días a todos; -En el archivo que subo tiene en la hoja "Arqueo y Ventas" una macro que me muestra al hacer clic con el botón derecho del mouse un menú personalizado. He configurado de forma que si la persona que utilice la macro no tiene privilegios de administrador no pueda acceder a dicho menú. Si lo intenta aparece un formulario donde se debe introducir la contraseña correcta que estableció el administrador. Consulta: Como puedo hacer para que una vez logueado me actualice el menú contextual sin necesidad de que tenga que ir saltando de una hoja a otra. Dejo enlace de un video explicativo: Video Saludos. JExcel.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  2. Started by Fernando medina,

    buenos días me vendría muy bien la ayuda de alguien , para crear un macro que recorra toda una fila , en la que cada celda de esa fila, tiene una fecha (año completo). macro que me encuentre una fecha determinada, ej.25/05/2021 y que yo introduzco en userform. Mil gracias un saludo a todos. Fernando Medina

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  3. Started by jomunozta,

    hola! estoy en búsqueda de separar celdas en filas de una base gigante, para eso daré un ejemplo: según la celda de la columna CENTRO necesito que me separe en filas las veces que aparezca una coma... quedando así: alguna idea???? gracias!!

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  4. Buenas tardes recurro nuevamente a su apoyo, tengo una lista de asistentes por fecha (Hoja ASISTENCIA) lo que la macro hace, es Eliminar varios registros a la vez, hasta allí todo bien El problema esta en que los asistentes se repiten sus datos (nombre, código, etc), lo que cambia es la fecha de asistencia, entonces al Eliminar, me elimina los registros que encuentra primero Lo que deseo es que me elimine los registros seleccionados pero diferenciando la fecha de asistencia. asi mismo que con el boton modificar me permita hacer modificaciones a varios registros a la vez en el campo Fecha Asistencia Muchas Gracias por sus respuestas. …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k visitas
  5. Gracias maestros por la ayuda que brindan. Como podría hacer una macro que ponga un texto dependiendo el contenido de una celda. Me explico si en la celda A1 esta cualquier información que en el rango B1:F1 asigne el texto CANCELADO caso contrario que deje en blanco y asi sucesivameente si esta en la celda A2 igual que ponga B2:F2 asigne el texto CANCELADO caso contrario que deje en blanco lo mismo en la A3, A4 hasta la A10. Gracias por vuestra ayuda.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 506 visitas
  6. Hola compañeros, Estoy tratando de crear un evento de tipo Worksheet_Activate de tal manera que cada vez que un usuario activa la hoja, el evento reconozca si existe una tabla dentro de la hoja activa (en caso contrario, insertar la tabla). Se me ocurre algo así... Private Sub Worksheet_Activate() Const HOJA As String = "CALENDARIO" Const TABLA As String = "CALENDARIO" Dim contador As Byte For contador = 1 To ActiveSheet.ListObjects.Count ' Si la tabla no existe dentro de la hoja, entonces... If ActiveSheet.ListObjects(contador).Name <> TABLA Then ' Insertamos la nueva tabla... ActiveSheet.ListObjects.Add(xlSrcRang…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.7k visitas
  7. Hola, tengo un problema al momento de ejecutar una macro que cree un tabla dinamica, en diferentes computadoras. el codigo es el siguiente: Sub Macro1() Dim WSD As Excel.Worksheet Dim WSI As Excel.Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long, FinalCol As Long Set WSD = Worksheets("Origen") Set WSI = Worksheets("Indicadores") ' Eliminar cada Tabla Dinamica existente en la Hoja---- For Each PT In WSI.PivotTables PT.TableRange2.Clear Next PT '========================================================================================…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  8. Desarrolle un sistema en PHP y MySQL para un negocio de audiocar. el caso es que ya habia deesarrollado sistemas para otro tipo de negocios como un lubricentro, y siempre los datos de los articulos(lista de precios), de los provedores vienen en archivos de excel. Aunque siempre en tablas comunes (con registros horizontales.). Pero este comercio tiene o le en via su provedor un excel como se ve en la imagen(El archivo pesa 40Mb): Y el caso es que necesito cargar esos datos en la base de datos. Como dije anteriormente teniendo una tabla comun yo lo paso directo con cualquier gestor. He probado transponer copiando y pegando el contenido pero me que…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.8k visitas
  9. Started by Galactico,

    buenos días, espero que todos se encuentren bien en estos tiempos de pandemia actualmente estoy investigando como poder realizar lo siguiente, tengo varias celdas con texto, en las cuales debo ajustar el tamaño del texto al tamaño de la celda, las celdas pueden estar concatenadas o no, con diferentes tamaños, estoy tratando de buscar la forma de hacerlo de manera masiva, ya que básicamente debo realizar esta acción cientos de veces, por otra parte también agregar un marco solo a las celdas que contienen texto espero se pueda entender mi duda desde ya muchas gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
  10. Buenos dias expertos, necesito una ayuda cuando pulso agregar datos al listbox con el boton agregar, lo que sucede es que el formulario de pedidos lleno los datos del producto luego de eso escojo una opcion en el los combobox de tipo de empaque y presentacion y pulso el boton agregar los datos antes mencionados debe listarse en el listbox pero me sale error en la columna 10, me pueden dar una ayuda sobre ese tema por favor. Muchas gracias de antemano por valioso tiempo. Adjunto el archivo. Proyecto Jomarus.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 617 visitas
  11. Started by DuDux,

    Buenas tardes no logro poder enviar mensajes con imágenes distintas a mis usuarios, solo me logra enviar a 1 y a los demás solo les envía texto me podrían ayudar Multienvios WSP 4.6 sin contraseña.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.6k visitas
  12. Buenos dias, podrian ayudarme con lo siguiente: necesito un macro que copie un archivo pdf mediante su ruta, a continuacion yo la pegare manualmente a Webwhatsapp en otras palabras que el macro copie el archivo y lo tenga ahi hasta que yo lo pegue a donde corresponde, he encontrado varios pero unicamente copian de una carpeta hacia otra y las he modificado pero ninguno me ha funcionado.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 431 visitas
  13. Started by Benito Bartolomé,

    Buenos días a todos; Estoy intentado pasar datos de un listView a un archivo txt y no me acaba de ir del todo bien. Cuando selecciono los items para exportar me repite el primero y el último no lo envía. También tengo creada una función que cuando no seleccione ningún item me pase todos. La he desactivado porque active o no siempre pasa todo y con el mismo fallo (envía todos los items pero repite el primero y no envía el último). Agradecería si es posible vuestra ayuda. Saludos. MEtList.zip

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 973 visitas
  14. Hola a todos, Espero poder explicarme bien. Adjunto archivo y a continuación la explicación. Tengo una gran base de datos de la cual necesito pasar los datos de 2 columnas no contiguas a filas mientras éstos tengan el mismo ID. En el ejemplo, a partir de la columna L (marcado en rojo) pongo intercalado los valores de la columna K y D en la misma fila mientras el ID_FORMULA (columna A) sea igual y siempre en la primera fila del grupo (por grupo me refiero a igual valor en columna A). Aclaro que la cantidad de filas por ID no es fija. Ejemplo.xlsxPuede ser desde 2 filas hasta 7. En el ejemplo, hay de 3, 5 y 4 filas. Como son 900.000 filas se me oc…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
    • 1 seguidor
  15. Estimada(o) Junto con saludar y deseando que todos esten bien junto a los suyos pasa a exponer mi consulta (sencilla quizas pero no logro dar con la solución) Tengo un libro (caso ejemplo en adjunto) con algunas hojas, quiero copiar desde la Hoja1, cada columna o rango completo de celdas; a la Hoja2, a partir de una celda que yo decida como en el ejemplo (me refiero a que no necesariamente la misma ubicación que tiene en Hoja1). Worksheets("Cubo").Columns(colu).Copy Destination:=Worksheets(Mid(cractual, 1, 18)).Columns(columnacr) este codigo me funciona pero me copia la columna completa, pero lo que esté en cractual en la misma columna (celdas a…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 771 visitas
  16. Started by sprit36,

    Buenos días, necesito con una macro poder comparar dos hojas, extraer un dato y a la vez poder convertir en porcentaje una columna. Adjunto ejemplo. Gracias. Ejemplo.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 831 visitas
  17. Hola , amigos de excel como se puede separar un codigo de 10 digitos en celda de 2 de 2 . tengo miles de codigos que tengo que separar para poder filtrar ya que en cada 2 digitos hace referencia a una marca o familia etc. . no se si me explico bien , pero le dejo un ejemplo de como quedaría en el archivo que adjunto . A B C D E F CATO025926 CA TO 02 59 26 CATO095921 CA TO 09 59 21 CATO055922 CA TO 05 59 22 MUCHAS GRACIAS POR SU GENTIL AYUDA. SEPARAR CODIGO.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
  18. Started by jik,

    Hola. Estoy declarando una variable de una ruta al abrir un libro para después utilizarla en varios módulos. La pruebo con MsgBox y la variable queda bien declarada pero al tratar de utilizarla en otro módulo su valor (también probado con una msgbox) queda en blanco. ¿por qué me pasa esto? No soy muy experto por lo cual agradezco una explicación relativamente simple. Muchas gracias A continuación la declaración cuando se abre el libro: Option Explicit Public ImpPredeter As String Public RutaData As String ----------------------------------------------------------------------------------------- Private Sub Workbook_Open() Application.ScreenUpdating …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.2k visitas
  19. Buenas tardes, Escribo para ver quien me puede ayudar, quiero hacer una macro que me permita enviar un email de Excel a Outlook con las siguientes características: - Archivo adjunto : que selecciones ciertos archivos que ya he adjuntado en un rango de celdas en forma de link. -Que el cuerpo del email sea un rango de celdas especifico que conteniente formato condicional. He encontrado una macro en una pagina de la web que ahora no recuerdo, pero el problema que tengo con esta macro es que no me adjunta los archivos y el otro problema es que el cuerpo del email me sale el rango de celdas visibles pero no salen las celdas que contienen formato con…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 575 visitas
  20. Started by jotaeme,

    Estimada(o) Junto con saluda y quizás sea básico para algunos, no logro agregar una hoja al final de la última que exista, estoy escribiendo .... actual ---> variable string que contiene el texto con el cual se nombrará la nueva hoja Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = actual .... error 1004---me indica gracias de antemano

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 638 visitas
  21. Buenas tardes gracias por este espacio. Solicito su ayuda para una macro que imprima solo las celdas que contienen datos. Tengo un botón que me ayuda a realizar un filtro avanzado y me trae los datos que quiero buscar, pero al realizar en el otro botón la impresión para paso a PDF me las convierte todas y solo quiero que se muestre en el PDF las que se consultaron. Tengo el siguiente código en el botón de impresión. pplication.ScreenUpdating = False If MsgBox("¿Desea Convertir a PDF?", vbQuestion + vbYesNo) = vbYes Then Dim HResumen As Worksheet Dim Ruta As String Dim Titulo As String Set HResumen = Worksheets("Resumen") …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 621 visitas
  22. Started by xinortiz,

    Buenos dias Acudo nuevamente a ustedes para solicitar su ayuda, tengo un registro de asistentes (hoja RMATRICULA) del cual filtro 2 columnas con los valores de los ComboBox y luego lo copio y pego en la hoja LISTA, y claro para ello antes elimino filas y datos de un pegado anterior - "hasta allí todo bien". Problema: Lo que intento hacer luego es que después de pegar los datos filtrados, dos filas después del ultimo registro de la Hoja LISTAS me agregue el texto "INVITADOS" y después de ello se agregue 3 filas mas en blanco en la hoja EJEMPLO esta la muestra de como debe quedar la tabla espero su ayuda muchas gracias prueba.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 801 visitas
  23. Buenos días a todos; Hoy traigo una consulta que no sé si ha vosotros os ha ocurrido y que no logro saber el porque. Tengo un formulario que contiene un listView y también tiene unos textBox y un botón que al pulsarlo me filtra los datos según el criterio de los valores de dichos textBox. Lo que no acabo de entender es lo siguiente, si le doy al filtro la primera vez se ejecuta todo correctamente pero en cambio si no cierro el formulario e intento hacer otro filtro lo hace bien pero me repite los encabezados a la derecha. A alguno se le ocurre algo de porque sucede esto. Adjunto enlace de un video y también macro: ListView Saludos …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  24. Buenas tardes!A través del presente requiero de su valioso apoyo para saber como utilizar la Referencia XML V6.0 Ya que el siguiente código me funciona correctamente con la versión 3.0, y me gustaría saber como actualizar para que funcione de la misma manera. Codigo XML v3.0 Option Explicit 'Variables de Lectura de archivos XML Private DocumentoXML As MSXML2.DOMDocument Private ListaNodos As MSXML2.IXMLDOMNodeList Private Nodo As MSXML2.IXMLDOMNode Function CargaXML(RutaXML As String) Set DocumentoXML = New DOMDocument DocumentoXML.Load (RutaXML) End Function Function Comprobante(Ruta As String, Dato As String) CargarXML (Ruta) Set ListaNodos =…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.9k visitas
  25. Started by faroca20,

    Buenas tardes gracias por este espacio. Solicito su ayuda para una macro que imprima solo las celdas que contienen datos. Tengo un botón que me ayuda a realizar un filtro avanzado y me trae los datos que quiero buscar, pero al realizar en el otro botón la impresión para paso a PDF me las convierte todas y solo quiero que se muestre en el PDF las que se consultaron. Tengo el siguiente código en el botón de impresión. pplication.ScreenUpdating = False If MsgBox("¿Desea Convertir a PDF?", vbQuestion + vbYesNo) = vbYes Then Dim HResumen As Worksheet Dim Ruta As String Dim Titulo As String Set HResumen = Worksheets("Resumen") …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 907 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.