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 Pedro Alonso,

    Hola EXCELENTES. Heredé este código. Yo no tengo NI IDEA de programación. Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo errorfecha If Not Intersect(Target, Range("A1830")) Is Nothing Then If Range("A1830").Value <> "" Then If Application.WorksheetFunction.Weekday(Range("A1830").Value, 2) >= 6 Then On Error GoTo 0 MsgBox "No puede ser sábado o domingo", vbCritical Range("A1830").EntireRow.Delete Range("A1830").Select ElseIf (Range("A1830").Value < Date - 7 Or Range("A1830").Value &gt…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 503 visitas
    • 1 seguidor
  2. Buenas noches @JSDJSD espero estes bien, tengo un caso similar al que se planteó en el siguiente hilo https://ayudaexcel.com/foro/index.php?/topic/43761-filtrar-listbox-utilizando-un-combo-box-dinámico/ he intentado modificar el formulario RPAT (frmrpat) para que se adapte a mis necesidades sin embargo no logro resolver los siguientes detalles: 1. Al igual que el compañero que pregunto en el hilo que comente anteriormente también copie y adapte de un tutorial de YouTube la siguiente macro: Private Sub CmdBUSCAR_Click() Dim UFILA As Integer If Me.TextBox11 = "" Then MsgBox "Ingrese el Número de Cédula", vbExclamation End If Exit Sub UFILA = Sheets(…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 646 visitas
    • 2 seguidores
  3. Buenos días: Dentro de un libro tengo una hoja "Datos" en la cual tengo referencias a una ruta "B4" y archivos a abrir (columna C), con una macro puesto en thisworbook (llama a otros archivos), este funciona bien. Los archivos los tengo en la misma carpeta guardadas en mi USB, trabajo siempre en la misma Laptop y por defaul asigna la letra D:, pero por nuevas necesidades debo trabajar en diferentes equipos pc o lap. y mis archivos no abrieron. tube que cambiar la letra de la ruta asignada, con la actual a mi usb manualmente. Se que puedo poner con una macro la ruta actual de un archivo abierto. Worksheets("Datos").Range("B4").Value = ThisWo…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 379 visitas
    • 1 seguidor
  4. Hola amigos!! Regreso algo oxidado con una consulta. La idea del presente archivo es capturar los seriales de unos equipos siempre y cuando cumplan alguno de los patrones que están en la tabla. Al pasar este filtro e ingresar el serial en la columna B (columna detonante para que se ejecuten las macros) se adicionará a los lados del serial, el número que indica la cantidad ingresados hasta el momento y en la otra celda adyacente el serial en formato de código de barras. De igual forma si se borra un serial en la columna B, o se modifica el serial, este deberá hacer lo propio según el caso,sea borrar los adyacentes o actualizar el código d…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 857 visitas
    • 2 seguidores
  5. Started by Alfonso5597,

    Hola estimados amigos, de nuevo por aqui para pedirles su colaboracion, si me hacen el favor Tengo un problema con una tpv que estoy desarrollando, , el problema esta en que cuando pulso el comamburton, necesito que la informacion pase a los textboxes, pero no lo consigo, y otra es que cuandolo paso al ticket, no puedo escribir el texto completo en la misma celda, espero y agradezco su ayuda Un saludo TPV

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 664 visitas
    • 3 seguidores
  6. Hola buenas tardes: Tengo una hoja con una lista extensa de columnas utilizados. tengo que trabajar con ellas de manera individual cada uno tiene un numero de consecutivo en la fila 3 y este es mi guía para este y otros archivos. manualmente estoy recorriendo mi plantilla de columna en la columna en la que voy a trabajar y aveces es confuso. no se si exista una manera en la que pueda seleccionar o indicar que columna utilizare en base a la fila 3 y lo demás se oculten todo esto dentro de un rango ejemplo. de A hasta la L. Que busque dentro de la fila 4 el numero (3) que yo indique en una venta o algo. y si lo encuentra deberá dejar visible esa columna y o…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 551 visitas
    • 2 seguidores
  7. Hola a todos Estoy haciendo una rutina en excel para insertar unas imágenes en un archivo Word. Las imágenes las logro insertar pero no se fijan en la linea que deseo sino que se mueven ya sea en líneas anteriores o posteriores y no he encontrado la forma de fijarlas en la linea específica donde son insertadas. Aquí adjunto la rutina que estoy utilizando y además dos imágenes de como queda la imagen insertada y como debe quedar Lo que deseo resolver y para lo cual necesito su valiosa ayuda es saber cómo puedo fijar las imágenes en la línea donde son insertadas. De antemano muchas gracias por su tiempo Daniel ImagenWord.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 429 visitas
    • 1 seguidor
  8. Buenas tardes amigos, tengo una consulta, ¿se podría hacer que un formulario se abra en una parte especificada de de la pantalla?, por ejemplo que se abra en la esquina superior derecha

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 587 visitas
    • 2 seguidores
  9. Hola buenas tardes. por el largo de mis textos es necesario hacer una combinación de celdas. Con la macro en mi archivo he logrado hacer que al seleccionar una celda lo combine con la celda siguiente. me funciona Pero mi necesidad es de poder seleccionar varias celdas continuas oi discontinuas y que se ejecute mi macro en cada una de las celdas. La combinación es de la columna C y columna D. Muchas gracias Combinar celdas seleccionadas.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 821 visitas
    • 2 seguidores
  10. Hola un cordial saludo a todos, Tengo un libro el cual quisiera que al abrir, abra en pantalla completa total sin la cinta o cintillo donde aparece el nombre del archivo.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1k visitas
    • 1 seguidor
  11. Hola buenas tardes: Tengo una hoja en excel donde listo el nombre de las carpetas que están dentro de una carpeta raíz,por medio de una macro, este me es funcional ya que en ella tambien me lista "subcarpetas" y otras carpeta por columnas. es funcional para conocer las carpetas que existen dentro de esa ruta. Pero por mis labores debo estar revisando diferentes documentos en cada una de estas carpetas y regresar.(dentro del explorador de windows). Esta misma macro seria muy útil que directamente desde esta lista poder abrir cada carpeta o subcarpeta, ya sea con un link en cada carpeta y subcarpeta. Espero me puedan ayudar con esta parte, muchas g…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 1k visitas
    • 2 seguidores
  12. Started by aSeik01,

    Hola me podrian ayudar a corregir esta macro, ya que que he puesto la condicion que no se ejecute por si hay valores vacios en 6 celdas y siempre se ejecuta, comparto codigo: Selection.ClearContents Range("C5").Select Selection.ClearContents Selection.ClearContents Range("C7").Select Selection.ClearContents Selection.ClearContents Range("C8").Select Selection.ClearContents Range("C23").Select Selection.ClearContents Range("C24").Select Selection.ClearContents Range("C39").Select Selection.ClearContents Selection.ClearContents …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 490 visitas
    • 1 seguidor
  13. Hola un cordial saludo a todos. Tengo un libro con 365 hojas cada una con nombre de un día mes y año en especifico agradecería me ayuden a como puedo realizar la vinculación de cada hoja (día) para extraer valores totales a otra hoja y obtener los resultados necesarios, ya lo tengo echo de manera manual pero tardo mucho quisiera de su ayuda para no hacerlo de forma manual , ya que es muy laborioso dado que lo tengo que hacer de una por una. NO puedo adjuntar archivos por que tiene un tamaño de 4 Mb. Como podrían ayudarme por favor....

    • 0

      Reacciones de usuarios

    • 21 respuestas
    • 1.6k visitas
    • 3 seguidores
  14. Buenos días amigos de excel, tengo una hoja formulada que funciona cada vez que incluyo la fecha en la celda L30, llamo un formulario que me muestra dicha información que se resume al incluir la fecha, pero quisiera poder cambiar la fecha en la celda sin tener que cerrar el formulario... Algo similar como cuando se ejecuta el buscador que se puede interactuar con la hoja sin cerrar el formulario... Quedo atento a sus sabios consejos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 498 visitas
  15. Hola, ¿Cómo podría ordenar una Tabla dinámica por fechas, respetando el orden de las columnas? Dispongo de una Tabla excel que tiene asociada una tabla dinámica. Desde la primera columna de la TD (formato texto) puedo ordenar de mayor a menor o de menor a mayor, pero no puedo ordenar por otra columna que no sea la primera. En concreto lo que necesito es poder ordenar por fecha (Campo 3) de la más reciente a la menos reciente, respetando el orden de las columnas. A través de macros lo he intentado, per no funciona: Sub OrdenarTD() With ActiveSheet.PivotTables("TablaDinámica1").PivotFields("Campo 3") .AutoSort xlAscending, "Campo 3" End…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 713 visitas
  16. Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.6k visitas
    • 2 seguidores
  17. Hola buenas tardes. Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion. pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo c…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 710 visitas
    • 1 seguidor
  18. Hola buenas, Os presento mis dudas. Tengo un libro (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza pe…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 408 visitas
    • 1 seguidor
  19. Buenas tardes! Tengo el siguiente código: Private Sub btnCargaBancos_Click() Dim TasaCompra, TasaVenta As Double Dim InvBanesco, InvVzla, MontoBanesco, MontoVzla As Double Dim TasaDiaBan, TasaDiaVzla, TasaActual As Double 'Inversion = Val(txtInversion.Text) InvBanesco = Val(CDbl(txtInverBanesco.Text)) InvVzla = Val(CDbl(txtInverVzla.Text)) TasaCompra = Val(CDbl(txtTasaCompra.Text)) TasaVenta = Val(CDbl(txtTasaVenta.Text)) MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanes…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 471 visitas
  20. Started by linacg96,

    Hola! Necesito por favor de su ayuda. No se de programación pero he intentado guiarme de una macro que creó un conocido para aplicárselo a un archivo que tengo. El tema es que la macro me funciona bien hasta copiar el libro de Excel y crear uno nuevo pero no he podido hacer que se guarde con el nombre de la ruta de archivo. Agradecería me ayuden. Esta es la macro usada, adjunto archivo. Sub control2558() Application.ScreenUpdating = False Dim I As Integer I = 4 While Hoja10.Cells(I, 102) <> "" Hoja10.Cells(6, 82) = Hoja10.Cells(I, 102) Dim NombreArchivo, RutaArchivo As String …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 552 visitas
    • 2 seguidores
  21. Saludos amigos! Estoy desarrollando un formulario en VBA y se me ha presentado el inconveniente de que no logro controlar el formateo de mis cuadros de texto para que cuando el usuario ingrese los datos, automáticamente el formulario coloque las separaciones de miles (.) y de decimales (,). Ejemplo: el usuario ingresa 100000 y quisiera que el cuadro de texto coloque 100.000,00. Agradezco su experimentada ayuda!

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
    • 1 seguidor
  22. Started by Fernando.O,

    Buenos días a todos: Estoy realizando una aplicación usando CUSTOM UI EDITOR. Lo que necesito es que al abrir excel muestre solamente mi grupo personalizado. No consigo ocultar la pestaña Disposición de pagina y ayuda Me podeis ayudar stock ALMACEN MMPP 2024 rev.1001.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.1k visitas
    • 2 seguidores
  23. buenas noches, quisiera saber si puedo mejorar mi macros que se encuentra en el evento change de la hoja de calculo de Excel, son códigos de cálculos básicos, además si me pudieran ayudar a reducir el código o darme algún tip para reducirlo yo mismo estaría muy agradecido. de ante mano muchas gracias Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlManual Application.EnableEvents = False If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then Sub todo() Range("E22") = WorksheetFunction.Sum(Range("E4:E21")) Range("E23") = Wo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 470 visitas
  24. Started by jues,

    Saludos amigos espero estén bien Estoy intentando hacer un formulario que me convierta unidades de masa sin embargo en el mejor de los casos solo he podido lograr la conversión de una unidad a la vez en los TextBox 1, 3, 5, 7, 9, 11 y 13 y cuando lo logro el resultado que se copia en la celda no se corresponde con el obtenido originalmente en el Textbox del Formulario (frmconv) ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda "F11" es 418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextB…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
    • 2 seguidores
  25. Hola buenas tardes: Por favor me pueden ayudar a realizar lo siguiente. ejecutar una macro después de un tiempo, que recorra una columna a partir de la celda activa hacia abajo. Es una lista extensa, que filtro desde la columna B. y solo me muestra las filas que me interesan. ejemplo: Si mi celda activa es la C23 ejecutar la macro y baje una celda y repite la macro después de 20 segundos y lo vuelve hacer(Simpre bajando una celda), y que este se detenga hasta la ultima fila que este visible en el filtro. Ya que puedo tener muchos datos mas. Gracias Prueba filtro y avance.xlsm

    • 1

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
    • 2 seguidores

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.