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

    Hola a tod@s. De antemano agradecer por su tiempo en el siguiente inconveniente que expongo. El inconveniente que tengo es que al aplicar el el código en el evento que dejare líneas abajo funciona correctamente, sin embargo cuando selecciono el rango de celdas B9:B18 y borro el contenido, sucede que de manera automática se colorea todo de color rojo en dicho rango. Como solucionarlo?, tomando en cuenta que es necesario que sea un evento. Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Application.Intersect(Target, Range("B15")) Is Nothing Then If Not IsNumeric(Target.Value) Then …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  2. Started by Janlui,

    Buenas tardes a todos. Pretendo implementar un formulario el cual lo dibujé en el archivo adjunto para darme a entender (espero que así sea) cuenta con un BD y 1 catalogo de Status. En el archivo adjunto describo el requerimiento. Gracias anticipadas por su atención. Formulario v01.xlsx

    • 0

      Reacciones de usuarios

    • 27 respuestas
    • 2.2k visitas
    • 2 seguidores
  3. Buenos días; Que tal estáis tod@s?? Hoy me ha surgido un problema que no se cómo solucionar por más que leo en internet, haber si me podéis ayudar. Tengo una macro que hace una consulta SQL de un Excel a otro ( hace un filtro y pega los resultados en otra hoja ) el problema que tengo es que una de las columnas con datos ( no la del filtro ) tiene texto y números y solo me trae los valores con números, los valores de texto no los trae. Esta es la secuencia: Query=select columna 1, columna 2, columna 3 from [" & "hoja$" & "] where In" & filtro & " orden by columna2 asc" Muchas gracias de antemano.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 549 visitas
  4. Started by Janlui,

    Cuando estoy capturando sobre del Textbox y quiero cambiar de linea solo me lo hace con Ctrl+Enter Existe algo para que con solo el Enter me cambie de línea y no se salga del TextBox?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 723 visitas
    • 2 seguidores
  5. Started by JosMa,

    Buenos Días, en una hoja activa seria posible tener algo así como una ventana flotante en la que pudiera configurar varios botones con distintas macros cada uno.? Sin que tener que poner los botones directamente en la hoja activa. Saludos

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 4.8k visitas
    • 2 seguidores
  6. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenas tardes Encontre en el foro esta macro para un calendario automático Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range): On Error GoTo Sal Unload Calendario If UCase(Sh.Cells(5, Target.Row)) Like "*FECHA*" And _ Target.Row > 1 And _ Target.Cells.Count = 1 And _ IsEmpty(Target.Offset(-1, 0)) = False Then Calendario.Top = ActiveCell.Top + 160 Calendario.Left = ActiveCell.Left + 18 Calendario.Show End If Sal: End Sub Necesito modificarla para que solo se aplica ciertas celdas y filas Por ej en la columna C y fila 4 Y en mi planilla l…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 857 visitas
    • 1 seguidor
  7. Hola buena tarde, estoy tratando de hacer una macro para eliminar filas que con base en la celda que contiene la hora , si estas horas estan fueran de los rangos se eliminen, es decir tengo registro durante todo el dia pero lo únicos válidos son de 06:00:00 a.m. a 09:31:00 a.m. y de 06:00:00 p.m. a 9:31-.00 p.m todo lo demas se elimine, pero no encuento la forma correcta, algunas ayudas hablan de formatos condicionales especificamente xlentre, pero por mas que busco no encuentro, agradezco.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 493 visitas
    • 2 seguidores
  8. Started by Janlui,

    Buen día a todos. Que instrucción debo de incluir en mi formulario para que cuando este se active haga el setfocus en la pagina1 del Multipage1. Sucede que si en la consulta anterior a este formulario me quedé en la pagina 3, lo cierro y lo vuelvo a abrir se queda es la pagina 3 Gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 698 visitas
    • 1 seguidor
  9. Started by Puche,

    Hola buenas noches, Tengo un formulario el cual cuando hago una entrada nueva se visualizan bien en mi ListBox, el problema es que hasta que no cierro el formulario no se ven las entradas en mi hoja de excel. A que se debe esto? Saludos,PaqNuevo1.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 600 visitas
    • 1 seguidor
  10. Buenas tardes, por favor necesito una macro para poder guardar datos de la hoja Formato de Tareo 2021 a hoja DATA FASEO a manera de historial, cada vez que tengo que modificar y los rangos la cual se tienen que pasar o guardar ya se encuentran en la hoja DATA FASEO que los copie de forma manual y algunos otros rangos mas para completar con el registro, por favor si se podria dar una solucion ya que para mi se me hace imposible. Muchas gracias y adjunto el archivo. Reporte diario de trabajo Rev.xlsm

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 2k visitas
    • 1 seguidor
  11. Buenas a todos, lo que voy a preguntar aunque para muchos sea fácil creanme que lo he intentado de muchas maneras y googleado y no logro dar con lo que quiero. Tengo que hacer un reporte diario donde necesito insertar la formula de suma (no el valor, sino la formula), donde el inicio del rango siempre es J5 pero el fin del rango varía como pueden ser solo 2 o 3 filas, pueden llegar a ser hasta 40 filas. La ayuda que solicito es para via VBA poner en la siguiente fila en blanco de la columna "J" la formula de suma donde el rango comience en J5 y que mediante código determine cual es la ultima fila con datos de la columna J. Espero de su valiosa ayuda, desde …

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.3k visitas
    • 2 seguidores
  12. Buenos dias expertos, tengo un libro de excel que estoy trabajando formularios la cual tengo dos, la dificultad es que en mi formulario de FormConsultar e puesto dos filtros con dos ComboBox la cual me funciona con solo texto pero tengo tambien numeros en el listado y la cual donde no me muestra cuando filtro con dicho numeros. Por favor si me pueden orientar que debo adjuntar que me muestre los datos. Adjunto el archivo. Reporte diario de trabajo Rev.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 704 visitas
    • 1 seguidor
  13. Hola buenas noches! Espero que me puedan apoyar con el siguiente tema: Tengo una base de datos de mas de 2500 registros de los cuales quiero depurar de acuerdo a su RFC Emisor y sumar las cantidades que contenga en sus registros de acuerdo a las demás columnas, es decir que si un registro aparece 500 veces que me sume en general el contenido de su registro, todo esto mediante una macro, anexo un archivo con algo de información, espero puedan apoyarme, de ante mano mil gracias acumulado 2020.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.2k visitas
    • 3 seguidores
  14. Started by Janlui,

    Hola a todos. Si tengo en la celda C2 la formula =suma(c3:c10) y eso da X resultado... quiero pasar esa formula a una variable ej. varform de tal manera que varform="=suma(c3:c10)" Como puedo obtener esto. Gracias

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.1k visitas
    • 2 seguidores
  15. Started by Galactico,

    hola buenas, he estado hace un tiempo aprendiendo y desarrollando macros en vba para realizar scraping en paginas web, en una de las paginas que utilizo apareció esta protección del sitio, el posible bypasear con vba? he leído que se puede hacer con phyton pero no conozco ese lenguaje el mensaje que dice es Cheking your browser before accessing "sitio" dejo pantallazo https://ibb.co/wp4mwzP en caso de no ser posible, quizás ya sea momento de aprender otro tipo de lenguaje agradezco mucho la ayuda

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 899 visitas
    • 2 seguidores
  16. Started by YianTheJOP,

    Buenos días a todos, En la empresa tenemos una "Base de datos" con registros de personal, contratos, etc que se gestiona desde un formulario y funciona muy bien todo menos el botón EliminarBD que ejecuta el siguiente código. Private Sub btn_Eliminar_Click() Dim Ufila, ufilaD, i, j As Long Dim ht As Worksheet Dim hd As Worksheet Set ht = Hoja3 Set hd = Hoja8 If Me.txt_nic = "" Then Exit Sub If MsgBox("Seguro de eliminar TODOS los registros del item seleccionado?", vbQuestion + vbYesNo, "Borrar") = vbNo Then Exit Sub End If Ufila = ht.Range("A" & Rows.Count).E…

    • 0

      Reacciones de usuarios

    • 28 respuestas
    • 2.1k visitas
    • 2 seguidores
  17. Buenos días Tengo una macro que me abre un Excel y me rellena una serie de datos. Hasta ahí todo correcto. Pero me gustaría darle un poco mas de utilidad y que me abriera el archivo con el nombre que finalmente deseo guardarlo y lo guardara en la carpeta correspondiente Sub MetodoAbrirLibro() Dim rngCopy As Range, rngCopyOT2 As Range, rngOT1 As Range, rngOT2 As Range, cel As Range, cel2 As Range, adres$ Dim wbOr As Workbook, wbDes As Workbook Dim nombre As String, Ruta As String Application.ScreenUpdating = False Set wbOr = ThisWorkbook Set wbDes = Workbooks.Open("C:\Users\jctorres\Desktop\Partes presenciales\C2020-0136_Carga_Horas (1)2.xls") Wit…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 704 visitas
  18. Hola! amigos del foro quisiera consultar si hay alguna forma en que se pueda validar el usuario que ha abierto en libro, pero no en un evento Workbook_Open, mas bien cuando ya el libro se encuentre abierto esta comprobación se realice en la hoja activa. Lo que busco lograr es si el usuario definido en el código no es el mismo que ha abierto el libro, genere el procedimiento de cerrar el libro activo sin guardar los cambios. Agradezco cualquier ayuda o comentario. Saludos Historial Smart_IntelligenceTools.xlsm

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 1.3k visitas
    • 1 seguidor
  19. Hola a todos! Tengo un formulario en VBA para registrar datos en una tabla de excel. Lo que necesito, es que cada vez que se hace click en el botón "Registrar" de mi formulario, en la primera celda de cada fila vaya generando algo así como un Autonumerico con formato "REG-0001" y al volver a cargar datos en el formulario y al apretar nuevamente dicho botón, lo haga con el código "REG-0002" ...03,04 y así sucesivamente.... ¿Alguien me puede guiar? ¡Gracias!

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 2k visitas
    • 2 seguidores
  20. SentenciaSQL.xls Hola , estoy intentando hacer consulta SQL con este archivo pero no consigo que funcione en OFFICE 365, sin embargo en la version office 2016 si funciona.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.2k visitas
    • 1 seguidor
  21. Started by rzamoras,

    Buenos días, Solicito su ayuda para pasar el contenido de 12000 archivos en formato .rtf dentro de una carpeta con historia clínicas, requiero pasar estos datos a una base de Excel para usarlos posteriormente en Access. En una columna debe estar el nombre del archivo ya que esta vinculado a la ID del paciente, y en otra columna el contenido del archivo. Ya busque en el foro, encontré una macro para pasar txt pero no me funciono, se bloquea el archivo de Excel y no responde. Gracias Rene Zamora

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2k visitas
    • 1 seguidor
  22. Buenas, Tengo una hoja en la que en la que en una de las columnas uso un buscarV, que además quiero que se autorrellene usando referencias relativas (el autorrelleno inteligente, vamos). Os pongo un ejemplo que no es real, ya que son decenas de miles de celdas, y tengo en cuenta el tamaño del rango que puede variar, etc….pero para simplificarlo. Si lo hago grabando una macro, obtengo esto: ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Hoja1!R2C1:R10C3,3,FALSE)" Selection.AutoFill Destination:=Range("B2:B20") Pero no quiero que se vea que es una macro grabada, por lo cutre que queda. Además porque quiero aprender. Así que uso la expresión Appli…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 2.6k visitas
    • 1 seguidor
  23. Hola! amigos del foro quisiera solicitarles el apoyo con lo siguiente: me encuentro tratando de encontrar la forma que pueda exportar datos de excel a access, estoy intentándolo con la siguiente macro: Sub CopiaDatos() Dim fila As Long, uf As Long, conta As Long Dim cn As ADODB.Connection, rs As ADODB.Recordset On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Set a = ActiveSheet Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & "data source=" & ThisWorkbook.Path & "\171 ProgramarExcel.accdb;" rs.Open "Clientes", cn, adOpenKeyset, adLockOptimistic, adCmdTable f…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 1 seguidor
  24. Started by 96andres96,

    Buenas tardes. Tengo en excel un macro con el que imprimo un ticket y tras imprimir el ticket automáticamente se abre el cajón portamonedas. El cajón portamonedas he logrado abrirlo a través de las propiedades de la impresora que es de la marca AV Pos modelo P-83. No obstante, me gustaría hacer una macro que abra solo el cajón portamonedas sin necesidad de imprimir. El cajón que tengo es el HS-410. ¿Hay alguna forma de hacer esto? Gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
    • 1 seguidor
  25. Estimados buenas tardes, Recurro nuevamente a ustedes con un nuevo inconveniente que se me presentó con una macros que estoy trabajando, exactamente en el formulario "frm_CopiarCobros", lo que hace ese formulario es me combina 2 hojas, la hoja "CopiarCobros" y la hoja "Proyectado", combina datos de ambas hojas haciendo coincidencia con el número de Factura, hasta ahi todo funciona bien, el problema es cuando quiero exportar esa información, quiero enviarla a la hoja "Ejecutado" y solamente modificar algunos datos en la hoja "Proyectado", pero me lanza error con el código para enviar a modificar la hoja "Proyectado" todo el código lo copié de otra macros que hice dond…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 905 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.