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. Hola genios: Estoy comenzando con este apasionante mundo de las macros y quisiera conocer sus ideas. He creado un libro con algunas funciones y formulas que me ayudan a optimizar mis tareas. mi "hoja 3", llamada "Mensajes" pretende llevar un registro de mensajes y tareas que trabajamos entre algunos usuarios (archivo compartido). Así, si yo encuentro algo de interes, lo dejo anotado y quien lea el mensaje trabajara al respecto en las otras hojas. Mi hoja "Mensajes" debe hacer lo siguiente: Columna A, solo admitirà 2 valores: "PENDIENTE"y"TERMINADO" Columna B se usara para ingresar el mensaje. Columna C se usara para ingresar la fech…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 676 visitas
  2. Hola: Tengo un Listbox que lista una carpeta y al hacer doble click en cualquier item se debería abrir el archivo. Antes de hacer pruebas, se me abrian todos los tipos (doc, pdf, y jpeg entre otros), salvo los tipo excel (xls*), pero ahora no se abre ninguno. Aun así, la consulta es para saber cómo abrir cualquier tipo de archivo incluyendo los de Excel, porque tengo varios códigos que abren archivos (del tipo ShellExecute, etc) , pero fallan con los xls* Abrir archivos.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.2k visitas
  3. Estimados amigos del foro me gstaria que me ayudaran a resolver este tema, el mismo que muchos buscan tener resuelto este caso en la mayoria de sus aplicaciones. Una aplicacion excel que abra automaticamente un userform, se oculte excel de manera independiente a otros abiertos, en el userform exista un modo de mostrar al excel y volver al userform ocultándolo. Al cerrar el archivo se vuelva todo normal al excel con previo guardado He intentado algunas cosas pero se presentan errores al probar diferentes modos Espero me puedan colaborar y ademas lo puedan colocar en aportes, ya que es útil para todos Gracias anticipadas subo el archivo para que lo…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 709 visitas
  4. Saludos amigos del foro, tengo un archivo que al abrirlo y luego mostrar el userform esta todo bien pero al cerrar con unload me se muestran junto al archivo otras dos hojas. Sospecho que debido a que le aplique un codigo para minimizar y maximizar el userform este esta haciendo algo como eso pero no estoy seguro, pongo el codigo de min-max: Option Explicit Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Declare Function FindWindow…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 731 visitas
  5. Started by lursaildi,

    Teno la siguiente macro pero me error 1004 por que puede ser. La macro es para cuando encuentre una X en las celdas b9:b200 oculte las filas que contienen una X Sub ocultarfilas_FRIO_NO_TALLER() ' ' ' ActiveSheet.Unprotect For Each celda In Range("b9:b200") If celda.Value = x Then ActiveCell.EntireRow.Hidden = TrueElse ActiveCell.EntireRow.Hidden = False End If ActiveCell.Offset(1).Select Next ActiveSheet.Protect End Sub

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 875 visitas
  6. Hola y de antemano muchísimas gracias por su ayuda. Estoy desesperado ya que no encuentro una solución a mi problema, el cual describiré a continuación: Tengo dos ComboBox y quiero hacer uno dependiente del otro dentro de un formulario, mis listas se agrupan de manera horizontal... por ejemplo: ComboBox1 - Celda (A1:A100) / ComboBox2 - Celdas a la derecha, (10 Celdas B1:K1 ) A B C D... 1 Aves Carpintero Cotorra Perico 2 Caninos Chihuahueño Salchicha Bulldog 3 Felinos Tigre León Puma …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 2.8k visitas
  7. Hola a tod@s mi pregunta es la siguiente: Quiero poner caducidad a un libro de Excel una fecha en donde se caduque y no puedan acceder al libro. Estuve buscando una macro y pille esta: Private Sub Workbook_Open() Dim FechaCaducidad As Date FechaCaducidad = #5/14/2016# If FechaCaducidad > Date Then MsgBox "Faltan " & FechaCaducidad - Date & " días para su caducidad", vbInformation Else MsgBox "Lo sentimos, pero este libro de trabajo" & vbCrLf & "ha llegado a su fecha de vencimiento", vbCritical Application.DisplayAlerts = False ActiveWorkbook.ChangeFileAcces…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.3k visitas
  8. Hola les pido su ayuda con lo siguiente... tengo un formulario en Excel que me ayuda a actualizar un catalogo de fotos Web estas fotos están en una tabla de una base de datos Oracle, la macro que utilizo estaba funcionando bien hacia el cambio sin problemas solo que debido a otros problemas tuve que reinstalar el SO en mi equipo y al querer usar de nuevo esta macro ya no funciona, si actualiza la información pero no termina se queda congelado Excel. Esta es la Macro que utilizo: Sub SubirFoto() Dim sql As String Dim m_stream As Object Dim cn As Object sql = "select foto from prueba_fotos where num_empleado=44163" Set cn = CreateObject("ADODB.Connect…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 705 visitas
  9. Started by Alfonso5597,

    Saludos amigos foreros De nuevo recurro a su ayuda para resolver un problema que me tiene atrancado por mucho que me esfuerzo, intento sumar las horas trabajadas desde 2 listbox los agrego a unos textbox y sumo estos, aqui tengo el problema, tambien me sucede que dentro del list el formato de hora no me aparece Espero que puedan eharme una mano Gracias por anticipado, saludos Prueba.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  10. Saludos, lo que se requiere es crear una lista con los nombres de las hojas de cada libro de excel, dividido ese listado por el nombre del libro, "algo muy similar a un listado de árbol de archivo de windows" pero con las hojas del libro de excel. si se pudiera hacer para varios archivos a la vez seria genial.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 5.3k visitas
  11. Buenos días: Tengo el siguinte código: Sub NombreHoja() ActiveSheet.Name = Range("B1").Value End Sub Bueno pone el nombre a la hoja de calculo según el valor de la celda, mi pregunta es de que si hay otra hoja con el mismo nombre me de un aviso para cambiar de nombre o en su caso asignarle por defecto un carater numérico para diferenciarse de la otra hoja que tenga el mismo nombre. Saludos cordiales Jesús

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  12. Hola a todos...quisiera saber como hacer para que esta macro me busque palabras que se encuentran dentro de una cadena de texto. Ej. Combustible - Estación de Servicios Internacional - RAMIREZ GALEANO MILCIADES VIDAL......es decir escriba "Estación o Servicios o Vidal y que me lo encuentre He probado de diferente manera y no pude dar con el...creo que mi problema está en esta linea....... palabra = VBA.Format(Me.TextBox2, "*") Esta es la macro que dispongo Private Sub CommandButton2_Click() Dim palabra As String With Range("E1:E" & Range("E" & Rows.Count).End(xlUp).Row) palabra = VBA.Format(Me.TextBox2, "*") Set fil = .Find(pala…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 825 visitas
  13. Hola a Todos, Tengo un archivo que hace la búsqueda correcta en una carpeta de un archivo en formato PDF, sin embargo lo que deseo es que este mismo haga búsqueda parciales, osea que me busque los tres dígitos de un archivo, en este caso lo deseo para que me busque números de boletas y no deseo escribir todo el nombre del archivo, porque es extenso. ¿Es posible hacer eso? Espero su pronta respuesta. ayuda_pdf_1.xlsm

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.3k visitas
  14. Estimados, Tengo una formula y dicho resultado se muestra en el textbox de "total" pero no logro hacer que el resultado se actualice cada vez que cambian los datos del los textbox que contienen la información para el calculo. Private Sub TextBox11_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Me.TextBox14.Text = Sheets("PLANTILLA").Range("K19") If TextBox4 <> "" Or TextBox5 <> "" Or TextBox6 <> "" Then Me.TextBox11.Text = Val(Me.TextBox4.Text) + Val(Me.TextBox5.Text) + Val(Me.TextBox6.Text) Else MsgBox "Ingrese Distribución", vbExclamation, "Mensaje CCM" End If End Sub Entonces necesito que el valor de Me.TextBox1…

    • 0

      Reacciones de usuarios

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

    Hola a todos, espero me den una mano con esta macro que encontré en este foro, lo quiero adaptar a mis necesidades pero no lo logre.. La idea es que me busque los datos de la columna "E", de la "hoja27" y una vez que encuentre me posicione el cursor en la celda, esta macro la hace pero solo con nombres cortos Ej. fast, pero yo tengo de la siguiente manera Ej. Alimentación - Restaurante - FAST WAY FOODS S.R.L., lo ideal para mi es que encuentre al darle Fast o Way sin importar el orden Y cuando presiono el Botón "criterio" que me limpie el textbox, porque ahi da un error al repetir la busqueda y en el label2, que me de los valores de la celda "D".....desde y…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 638 visitas
  16. Buenas, mi consulta es la siguiente: En un excel tengo una base de datos los cuales se pasaran a un Word y llenaran formularios, y esto lo estoy haciendo mediante correspondencia. Mi duda entra en que cuando por ejemplo una celda del excel este vacia (o con un "-") al pasarlo al word en ves de pegar el espacio, borre cierta cantidad de texto. Gracias.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 539 visitas
  17. Started by Pedro Maias,

    Buenos días, os hago una pregunta estoy limpiando unas macros y quisiera saber sin el Range se puede ejecutar con variable, aquí va una explicación If Range("s50") >= 1 Then Range("U50") = ("=U47+S50") zz=b2 : xx=s2 ' Variables que después toma el range en la sub Call Datos Else: Range("u50") = C:End IF If Range("S2") >= 1 Then 'Range("U2") = ("=U50+S51") xz=63 : zy=76 ' Variables que después toma el range en la sub Call Datos Else: Range("u51") = C: End IF Sub Datos() Worksheets("Hoja2").Unprotect Password:=PR Range("zz:xx") .Copy Sheets("H…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.2k visitas
  18. Started by insokaos,

    Pues resulta que hace tiempo hice un pequeño programa para hacer facturas con excel y vba, pero he descubierto que cuando escribo en la factura unas cantidades con decimales pues al guardarlas en el registro de vba no hace caso a dichos decimales, considerando que no son tales y me agrega dos decimales. Me explico , si yo pongo en cantidad 2, precio unitario 15,15, me da un total de 30,30, al que luego se le calcula su iva y el total, pues al grabar estos datos en el registro me guarda en Cantidad 2, en precio unitario 1.515,00 y en subtotal 3.030,00. El codigo con el que recogo estos datos es el siguiente: Call Abrir_Tb_Detalle_Facturas ActiveS…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 740 visitas
  19. Buenos días: Trabajo con dos libros uno Caja Jesús 2016 y otro Cuentas por cobrar, bueno en mi libro caja en la hoja BOLETOS en la celda F1 ingreso el nombre de una de las hojas de mi otro libro Cuentas por cobrar, para este ejemplo solo puse algunas hojas, pero la verdad tengo como 200 hojas que las utilizo. Mi consulta es de como ir a la hoja del libro Cuentas por cobrar según el valor de la celda F1 de mi libro Caja Jesús 2016. Muchas gracias por su atención, saludos cordiales Jesús Caja Jesus 2016.xlsx Cuentas por cobrar.xlsx

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 6.2k visitas
  20. Buena Compañeros Deseo crear un macro que le lea un archivo en excel y me copia el rango de celdas hacia abajo la cantidad de veces como haya información en la columnas de al lado, espero haber sido claro, adjunto archivo con el ejemplo de la macro que necesito Gracias Fdotrujillo Libro1.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 578 visitas
  21. Started by Andres_SL,

    ¿Alguien sabe si existe una manera de escribir una macro - por ejemplo en el libro de macros personal - que escriba código en los módulos de VBA de otros libros? El caso concreto en que esto podrías ser útil es el siguiente: tengo 20 archivos en uso por parte de los empleados de una empresa, cada uno de los cuales es exactamente igual a los demás y contiene las mismas macros, sólo que cada uno de los empleados usa su archivo para registrar sus propios datos. Tengo que hacer un cambio en las macros de todos los archivos, y si no hay manera de "escribir una macro que escriba macros" tendré que ingresar a los archivos uno por uno y cambiar los códigos manualmente. …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
    • 1 seguidor
  22. Buenos Días compañeros, Se me presenta un problema con la ejecucion de una macro que estaba armando para que los graficos me cambien de color, los graficos me cumplen la condicion si el relleno de cada barra lo dejo con el color que necesito , pero a la hora de cerrar y abrir el archivo y ejecutar la macro, las barras con porcentaje 0% cambian su relleno en automatico, dejando las barras de color azul.El codigo actual es el siguientePrivate Sub Mes_Click()' Datos a Mes Abril''Muestra Hojas Para Realizar CambiosSheets("Dashboard").SelectSheets("Tablas").Visible = TrueSheets("Dashboard").Select'Cambia Formulas de AcumuladosApplication.ScreenUpdating = FalseRange("B24:C25").…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  23. Buenos Días: Trabajo con dos libros uno con el nombre Caja Jesus 2015 y otro con Cuentas por Cobrar, en mi libro Caja en la hoja BOLETOS celda D20851 tengo la siguiente función =SI.ERROR(HIPERVINCULO("[Cuentas por Cobrar.xlsm]MENU" & DIRECCION(COINCIDIR(F1|[MENU]MENU!$B:$B|0)|2|2|1|"MENU")| "VER NOTA")|"NO VER") Lo que quiero hacer es que según el valor de la celda F1 vaya al libro Cuentas por Cobrar y se sitúe en el mismo valor en la hoja MENU que en este caso seria en la celda C10, pero no me esta funcionando, ayuda por favor. Muchas gracias por su atención. Saludos cordiales Jesús

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 607 visitas
  24. Started by A.Maurizio,

    Hola Marco en pocas palabras mi problema es el siguiente: En una hoja de Excel que creé en el juego del bingo. Después de que el uso de una conexión de esquema para cada replicado de la Tabla de símbolos para cada célula de mi Tómbola. Después de eso: he creado una fórmula que simplemente dice, que a su vez sale el número Ejemplo (1) es el color del rojo del símbolo Número 1 de la Tabla etc ..! Ahora el problema es el siguiente: A medida que el juego! Funciona bien, pero si se mira de cerca, se da cuenta de que hay algo que está mal, ya que la carta de si es de color rojo el número (1) o el número (80) y luego extraiga el número (10) o (15) etc ...! Extraer el núm…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 810 visitas
    • 1 seguidor
  25. Started by vulkatho,

    Estimados solicito de su ayuda para optimizar esta macro que he implementado pero se me esta quedando mucho y no tengo muchas bases en visual. Sobre todo mucha ayuda para el cargue de ventas ya que no he logrado como hacer para que me cree un archivo solo de los criterios que estén reportados ya que no todos los meses me reportan ventas en la misma agrupadora.ventas-Colsubsidio_V 1.2.xlsm ventas.zip

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.2k 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.