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

    Buenos días a todos amigos, Acudo con ustedes en este momento, me bloquié en un código que estoy realizando, Les cuento, estoy trabajando con una consulta de tipo SOAP desde vba excel, logré enviar y recibir la respuesta de los datos, sin embargo, esto fue solo una prueba, ya que valide un dato en especifico, sin embargo, lo que quiero hacer, es validar varios datos a la vez y que esos datos lo tome desde excel, adjunto parte del código en donde considero que estoy mal, ya que no me da el resultado: Según yo con esto estoy referenciando a las celdas de excel, pero no se si me falta algo. Espero contar con el apoyo de ustedes, Mis respet…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 635 visitas
    • 1 seguidor
  2. Buena noche a todos: Tengo una macro que me compartió un amigo desde hace varios meses, pero no tuve la oportunidad de probar, sin embargo, ahora que lo necesité, traté de utilizarlo pero me arroja un error de #¡VALOR! Esta macro en teoría calcula el área de un polígono usando angulos azimutales y distancias. Para ello selecciono de primero el rango de las distancias, luego el rango que contiene los ángulos azimutales, pero como resultado obtengo el mensaje anterior. Adjunto el archivo de ejemplo, para ver si alguien pueda apoyarme. Saludos. Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 818 visitas
    • 1 seguidor
  3. Hola: Me vais a perdonar si me equivoco de subforo si esto no se puede hacer con formulas y solo con macros pero a ver si es posible. Tampoco he encontrado algo exacto a esto y por eso os planteo la pregunta. Estoy haciendo un Excel para hacer facturas, ya tengo todo en marcha y ok pero me falta lo más importante, en la hoja FACTURA la descripción va en tres columnas; concepto, unidad y precio unitario, en otra hoja, DATOS, tengo una base de datos con esas columnas más otra delante con nombre del cliente. Por otro lado, cada cliente tiene varias filas con diferentes datos en cada una de sus tres columnas en cada columnas porque tienen diferentes conceptos…

    • 0

      Reacciones de usuarios

    • 33 respuestas
    • 2.1k visitas
    • 2 seguidores
  4. Buenas a todo el foro. En una macro para enviar correos mediante outlook como esta. With OutMail .To = "[email protected]" '.To = "[email protected]" .CC = "" .BCC = "" .Subject = "Correo de prueba" .Body = "" En el rango J2:J20 tengo correos diferentes y aplicando un filtro, me gustaria agregar a CC los correo/s que resulten en ese rango del filtro aplicado, no se si me explico. Gracias por adelantado ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 597 visitas
    • 2 seguidores
  5. Started by Felixin76,

    Buenas a todos los forer@s Estoy realizando un userform con varios textbox y combo box y estoy bloqueado en un punto en el cual me gustaria que me ayudasen con ello necesito limitar un textbox con la fecha ,que no se vaya de valores minimo y maximos que indique Quiero limitar el textbox con las fechas 01/01/23 ----31/12/23 Me podrian ayudar con este tema Un saludo y muchas gracias por su tiempo

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.2k visitas
  6. Started by pinoji,

    Buenas tardes colegas. Espero su salud sea excelente. Colegas, tengo un Proyecto en el que he venido trabajando para el Control de Ropa Sucia en la Lavandería donde trabajo en estos momentos, per necesito mediante un código poder consolidar los datos, o sea, que me haga una suma por hohas de cada producto. Todas las Hojas, que además contienen una Tabla son idénticas en cuanto a cantidad de columnas y necesito en la Hoja Consolidado hacer dicho calculo. Yo lo tengo hecho con el cálculo rtradcional, o sea, la suma de todas las celdas de cada una de las hojas, pero me gustaría más que fuera a traves de un Botón. Es bueno tener en cuenta que cada una de …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.1k visitas
    • 2 seguidores
  7. Buenas tardes, estoy haciendo un programilla para un restaurante y estoy atascado en el error del titulo de este post. Me sale en este caso, pero en una instancia anterior que llega a esta, hago exactamente la misma funcion pero con diferentes datos y funciona perfectamente. Vereis, lo que intento digamos es tener una lista de menus, seleccionar un menu y en una nueva pestaña, ver que platos contiene este menu, escoger un plato de dicho menu y ver que ingredientes contiene ese plato, digamos como una jerarquia de informacion. La lista de menu me aparece perfectamente, para ello y todo lo demas uso listboxes. Bien, selecciono el menu deseado y me aparecen lo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 725 visitas
    • 1 seguidor
  8. Hola a todos: ¿Podrían ayudarme con esto? Ya he tratado de distintos modos sin éxito. En la celda G7, debo atregar un folio de documento, pero a ese folio (dependiendo del mes) se le debe agregar el numero del mes y el año. Entonces, el folio es "2457" y el mes es "02" y el año "23", por lo tanto en la celda G7 yo debo escribir "AC0223-2457" La idea es que solo se capture el folio "2457" y que automáticamente se agrege "AC0223-" Ya intente con una macro que agrege el texto cuando se modifique la celda, pero cuando la macro agrega el texto se está volviendo a modificar la celda y se cicla el proceso. ¿alguna idea? Les agradezco de antemano su apoyo. …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 466 visitas
    • 1 seguidor
  9. En lenguaje VBA : Seleccionar un excel por el usuario y buscar una palabra Facturas en la primera hoja excel 2. Hacer una busqueda desde la celda inferior donde esta Facturas hasta encontrar varios directorios de varios .pdf 3. Copie todos esos archivos .pdf en un directorio C:\facturas de manera automática Necesitaría modificar el ultimo bucle porque no para de hacer copias hasta que llega un punto de colapso total. Edito: Ya he podido hacerlo para dos pdfs , pero necesitaria hacerlo para un numero generico de archivos .pdf Edito 2: Ya lo he conseguido para un numero de veces n pero solo para un determinado de extensión . pdf o…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 741 visitas
    • 1 seguidor
  10. Jelow, Yo por aquí de nuevo xD Estoy embarcándome en la posibilidad de dar clases de VBA a gente que no sepa NADA al respecto y explicarles desde lo básico a lo avanzado, las cosas más esenciales en cada aspecto. Como aquí son todos unos maestros, vengo a robaros ayuda (?) Tengo la siguiente tabla: La idea es que luego la persona, investigue en profundidad otros temas más complicados o métodos y trucos para usar cada función y fórmula. ¿Algún concepto que digáis, esto la persona tendría que saberlo? (igual está en la tabla lo que me digáis, pero prefiero saber vuestra opinión :D) Gracias de…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.2k visitas
    • 2 seguidores
  11. Started by pinoji,

    Hola colegas, buenas tardes y que tengan una excelente salud. Tengo un pequeño proyecto para controlar los comensales, pero necesito una hoja para llevar de manera manual las incidencias. ya tengo hecho todo, excepto que necesito en la Hoja Modelo, en la columna E me ponga una linea en la parte inferior de las celdas (Para Firmar), siempre que existan datos. Yo tengo este código: Private Sub BtnImprimirM_Click() Dim X As Long Application.ScreenUpdating = False Hoja10.Range("A4:D5000").Clear Worksheets("BD Alumnos").Range("A4:D5000").Copy Worksheets("Modelo").Range("A4") With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .P…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
    • 3 seguidores
  12. Started by Benito Bartolomé,

    Hola a todos; ¿Es posible filtrar un segundo ComboBox según el item que seleccione en el primer ComboBox, tal y como reproduzco de forma manual en este .gif.? Los datos los cargo de forma manual para el ejemplo, lo interesante es que una vez cargados sea el método que sea se filtre según la condición. CONDICION: La condición a cumplir es que si el item del ComboBox1 = 55 entonces me filtre el ComboBox2 con los items cuya columna 3 sean igual a "Activo" y para el resto cogerá los "No Activo" Saludos. MCombosEnlazados.xlsm

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 1.2k visitas
    • 2 seguidores
  13. Hola a todos. ¿Cómo crear una macro que permita eliminar (no ocultar) los ítems de una lista desplegable una vez estos hayan sido seleccionados? Muchas gracias por su ayuda. Subo un archivo para mayor comprensión. Eliminar item de lista desplegable.xlsx

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 846 visitas
    • 2 seguidores
  14. Hola, estoy intentando crear una macro que busque las filas con contenido en una hoja y que haga varias copias de este contenido en otra hoja, numerando el numero de copia. Hasta ahora he conseguido que me encuentre los valores y que copie y pegue pero no que me haga la cantidad de copias y las numere, adjunto codigo por si alguien me puede ayudar y también imagen de datos y resultado final que me gustaría obtener. Sub Copiar_Filas() 'inicializo la variable j j = 2 UltimaFila = Cells(Rows.Count, 2).End(xlUp).Row Dim xCount As Integer LableNumber: xCount = Application.InputBox("Copias de Kits", "Total de copias", , , , , , 1) If xCount < 1 Then M…

    • 0

      Reacciones de usuarios

    • 31 respuestas
    • 1.6k visitas
    • 2 seguidores
  15. Holaa, tengo este código con el que genero la eliminación de celdas vacías porque extraigo archivos que contienen muchos datos Me funciona bien cuando los datos no son muchos, pero cuando son muchos me muestra el error del título Alguna alternativa para solucionarlo? Este es mi código Sub EliminarCeldas() ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp Range("A1").Select End Sub Espero puedan ayudarme! Gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k visitas
    • 2 seguidores
  16. Started by Pedro Alonso,

    Hola a tod@s. Tengo libro con 50 hojas. Sub OcultarExceptoActiva() Dim Ws As Worksheet For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> ActiveSheet.Name Then Ws.Visible = xlSheetHidden Next Ws End Sub Hace lo que dice. Pero el problema está en que no obedece a sus vínculos. ¿Se podría solucionar? Agradecido de antemano.

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 1.3k visitas
    • 5 seguidores
  17. Started by waltermendez99,

    Buen día, como puedo variar mediante un ciclo for el número de hoja en el codigo siguiente: For m = 3 To 25 Step 2 For I = 1 To ultfila If Hoja3.Cells(I, 1) = Hoja27.Range("D5") Then ..... a algo así: if Hoja(m).cells(I,1) = Hoja27.Range("D5") Then el detalle está que no deseo usar el nombre de la hoja y si uso el indice de hoja al cambiar de posición me cambia el indice y ya no me funiciona, es decir que debe buscar la hoja sin importa sin cambian el nombre de hoja o posición de hoja..

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 762 visitas
  18. Saludos de nuevo y buenas tardes. Desearia saber como puedo renombar un TextBox dentro de un formulario y mas concretamente en el evento Initialize del FORM. He aplicado esta sentencia pero obtengo un error, y no se como resolverlo. Gracias. ThisWorkbook.VBProject.VBComponents("FRM_Benef_Riesgo").Designer.Controls("TXT_Precio").Name = "TXT_Nuevo_Precio" Muchas gracias, Josep Miquel.

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 960 visitas
    • 2 seguidores
  19. Buenas, en la siguiente base de datos, la cual es bajada de un software contable, quisiera realizar un recorrido por las columnas E, hasta la ultima Columna Activa, en este caso es la columna M. ("como les dije es bajado de un software contable y para cada empresa puede ser diferente el numero de columnas"), la idea es realizar ese recorrido por el rango de columnas (E: hasta la ultima columna activa) y eliminar aquellas columnas que no tengas valores positivos, ya que en algunos casos en una columna sin valores me puede colocar la fecha o cualquier otro dato informativo que no se requiere. BASE PRUEBA.xlsx

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 1k visitas
    • 3 seguidores
  20. Started by rebiglione,

    Estoy corriendo una macro que en el Rango A1:A15 deberia contar las celdas con "Roles de tripulacion", poner en la siguiente celda vacia del rango "x Roles de tripulacion" y borrar todas las filas del rango que contengan "Roles de tripulacion". La cuestion es que cuando intento con el ejemplo, me borra solamente dos de las cuatro filas que tengo con ese valor. Adjunto el archivo para mejor ilustracion. Sub test() If Application.WorksheetFunction.CountIf(Sheets(1).Range("A1:A15"), "Roles de tripulacion") > 0 Then Sheets(1).Range(Range("A1").End(xlDown).Offset(1).Address).Value = Application.WorksheetFunction.CountIf(Sheets(1).Range("A1:A15"), "Roles de trip…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 666 visitas
    • 1 seguidor
  21. tengo las siguientes intrucciones: Range("A:E").Select ActiveWorkbook.Worksheets("RevicionSubCta").Sort.SortFields.Clear ActiveWorkbook.Worksheets("RevicionSubCta").Sort.SortFields.Add Key:=Range( _ "B2:B" & u & ""), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("RevicionSubCta").Sort .SetRange Range("A1:E" & u & "") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range(Range("A1"), Selection.End(xlDown)).Offset(1, 0).En…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 583 visitas
    • 2 seguidores
  22. Started by seron87,

    Hola, resulta que tengo una columna con unos ids que son números y necesito que en esa fila se repita 4 veces el mismo número hacia abajo, para que luego en cada fila de cada número aparezca los números 1,2,19,61 en la columna B de cada número, existe alguna fórmula que lo pueda hacer auto? Saludos y Gracias! product_2023-02-19_192903.csv

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 597 visitas
    • 2 seguidores
  23. Buenas noches, Soy nuevo por aquí y he observado que hay varios post referente a realizar envío de mensajes mas o menos complejos a Whatsapp desde VBA. Hecho en falta una parte muy importante, que es poder capturar una respuesta que te haya dado un contacto para almacenarla y/o avanzar en la conversacion. Pongo un ejemplo, Tengo un listado de citas medicas en Excel que me gustaría confirmar su asistencia mediante comunicación whatsapp. Con lo que he podido encontrar por los foros llego a poder enviar a cada contacto un recordatorio de la cita, pero necesitaría que de alguna manera me indicara si podrá asistir o no a la cita para us…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
    • 1 seguidor
  24. Buenos días a todos, soy nuevo aquí y como no he sabido encontrar donde presentarme, lo haré en éste mensaje. Me llamo Mauricio y realizo normalmente programación en php y javascript. Tengo un cliente que me ha pedido ayuda en la programación de un Macros para enviar los avisos de las citas que tiene en su Clínica Dental a través de un programa descarga a diario esas cita. Ha logrado enviar los mensajes por whats app, pero sólo en el primer archivo original que creó. Luego cada vez que ha querido repetir el proceso no ha podido. El Macros indica un error en la sintaxis, pero no sabemos cual es ese error. El proceso es el siguiente: Cuando descarga el archiv…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 477 visitas
  25. Started by EdadMedia,

    Jelow, Yo por aquí de nuevo con dudas raras xD En excel, cuando escribes código en el editor de VBA a veces hay una herramienta que ayuda a autocompletar las palabras, parámetros dentro de un paréntesis o cosas así. ¿Alguien sabe si existe un límite de veces que ayuda en una misma línea? Ej: Si pongo, "ThisWorkbook.", sale desplegable y puedo encontrar "Sheets". Si pongo "ThisWorkbook.Sheets(", me pide un index para la hoja en cuestión. Pero si pongo "ThisWorkbook.Sheets(1)." ya no sale más. Me pasa lo mismo si escribo "ThisWorkbook.ActiveSheet." ya no aparece la ayuda, después de ActiveSheet. Mi du…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k 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 [email protected]

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