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

    Muy buenos días, tardes, noches compañeros. Disculpen que los venga a molestar, pero estoy realizando un proyecto que es sencillo, pero de alguna manera se me complicó, jejeje. La cuestión está, en que necesito validar un rango de celdas, y que estas no se encuentren vacías (en el archivo adjunto sería de la celda B6 a la B17). El problema está en que en medio de dicho rango de celdas, hay 3 que son "opcionales" o hay una "excepción", es decir que se pueden o no llenar, pero no logro correr una macro para que valide que las celdas estén vacías, pero que omita estas 3 celdas que son opcionales (en el archivo adjunto van marcadas en color amarillo). Actualmen…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  2. Buenas tardes: Necesito que una columna entera en una hoja de Excel (donde hay una fórmula) quede protegida para que nadie pueda modificarla pero sin tener que proteger la hoja entera. Cómo hacerlo? Gracias!!

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.6k visitas
  3. Amigos, Buenas tardes por alguien me puede ayudar por favor con el siguiente tema: Tengo un libro que tiene en la columna A, el código 1,2,3 quisiera ver la posibilidad de por macro pasarla a hojas individuales que quede en "hoja1", todo lo de código 1, en "hoja2", todo lo de código 2 , en "hoja3", todo lo de código 3 pruebacodigos.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 707 visitas
  4. Started by jlrv190182,

    Buenos día amigos, Estoy armando un excel para que mediante un formulario simple en hoja de excel copie los datos a otra hoja según la funcion de busqueda que otorga el excel (CONTROL+B). Lo que requiero es que copie segun la fecha buscada en la otra hoja de excel, pense usar la grabadora de macro pero no me resulta. Adjunto un pequeño ejemplo. Por favor toda ayuda o idea es muy buena. Saludos NUEVO REPORTE FINAL.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 710 visitas
  5. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Hola, tengo un juego de Poker que funciona perfectamente. Pero lo copio a un Mac y el juego lo puedo modificar a mi gusto pero las imágenes del cubilete (como si se moviera) no funciona, solo las imágenes, que parte del código debería modificar ? envío parte del programa, la macro en cuestión. Sub Tirar() Dim COLUMNAS As String Dim DADOS As String, DADO As Integer Dim y As Integer, d As Integer '-- Randomize Range("A1").Select COLUMNAS = "FGHGHGI" 'Columna de la imagen del cubilete DADOS = "JKLMNO" 'Columna de la imagen de los dados Visualizar False For y = 1 To Len(COLUMNAS) ActiveSheet.Shapes.Range("CUBI…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 958 visitas
  6. Started by Armando,

    Muy buen Dia/Noche me suscribi a esta pagina con la intencion de encotrar ayuda pero cuando creo encontrarla me arroja un herror y lo unico que deseo es lo siguiente yo estoy a cargo de un estacionamiento y en ocaciones por cuestion del exceso de trabajo cometo herrores en la cuenta de horas ya que tengo que realizar el conteo mentalmente y no he podido dar con el clave 1 hora de entrada 2 hora de salida tendra que ser la hora actual del systema 3 seleccionar tres rangos de cobro (1.- 30 minutos gratis 2.- 90 minutos gratis y el tercero seria el 100% del tiempo gratis esto es para los clientes VIP) 4 numero de boleto o serie 5 tota…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 2.4k visitas
  7. Started by jose_luisc,

    Buenos días gente, bueno es simplemente lo que dice el titulo, quisiera que en una determinada hoja (no en todo el libro) se resalte la fila activa con algún color, sin que modifique los formatos condicionales que pueda llegar a tener esa hoja No lo intenté hacer con formato condicional ya que es una tabla muy extensa y supongo que el rendimiento del libro bajaría en comparación si usaría VB Desde ya muchas gracias y saludos Buena Vida

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.9k visitas
  8. Started by José_Santos,

    Hola a todos y gracias por anticipado por echarme una mano... Estoy trabajando con la API de JavaScript para Excel a través de Script Lab (esto no es muy importante) Estoy tratando de cambiar el ancho de una columna... Rango.format.columnWidth=100,81; Mi pregunta es, Ese 100,81 ¿a qué medida hace referencia? porque cuando lo veo al cambiar el ancho de la columna manualmente muestra 18,29 y en cm muestra 3,78 cm ¿Alguien sabría decirme en que unidades están esos 100,81? Debe ser una medida americana. Saludos Jose

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.1k visitas
  9. Estimados, alguien me podría dar una mano con este tema? necesito poder contar celdas de colores, los cuales cambian en función del formato condicional, estuve buscando por la web pero ninguna de ls publicaciones me fue de utilidad. Gracias. Saludos.

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 4.1k visitas
  10. Buenos dias, amigos espero me puedan ayudar con este problema que encontre. Tengo abierto un formulario1 donde hay un listview, llamo al formulario2 donde ingreso los datos para el listview del formulario1, el problema es que al cerrar el formulario2, quisiera que el foco pase al listview, pero no lo consigo: Private Sub btnAceptar_Click() Call Agregar_Asientos_Voucher Unload Me UFVouchers.ListView1.SetFocus ''AQUI Mando el foco pero no lo reconoce End Sub Sub Agregar_Asientos_Voucher() Dim i As Integer With UFVouchers.ListView1 i = .ListItems.Count + 1 Rem MsgBox .ListItems.Count .ListItems.Add(i).Text = UFSubVouchers.txtCtaCbl…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 956 visitas
  11. Buenos días Soy nuevo en al foro, y tengo un pequeño problema, estoy intentando comparar 2 columnas de dos hojas y cuando coincidan los valores (código de producto) me haga una suma acumulada, he probado con todas las fórmulas que se y no consigo solucionarlo, a ver si me podeis hechar un cable El asunto es comparar la columna a de las dos hojas y si coincide el codigo, sumar la celda correspondiente de la columna cantidad de la hoja albaran a la misma columna de la hoja stock y que acumule la suma Gracias de antemano EXCEL ALMACEN.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 786 visitas
  12. Started by nickmartinez,

    manejo actualmente un formulario que pretende hacer que se reproduzca la vos de excel con el metodo Speech pero la reproduccion de la voz debe mencionar el valor de un combobox y eso me da error,es posible hacerlo? aqui el codigo para su evaluacion Sub voz() Dim var As String var = Userform1.ComboBox1.Value Application.Speech.Speak "var" End Sub

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.6k visitas
  13. Estimados Amigos, Buenas noches, una vez más requiriendo de su valiosa ayuda. Esta vez con el tema de saber más acerca de poder optimizar el BuscarV bajo vba, (VLOOKUP), ya que tengo un libro de unos 300000k registros y realmente ha tardado una eternidad en conseguir el objetivo aplicando formular1c1 y applicationvlookup. Consultando por ahí en google me encontré con el tema de los arrays y diccionarios, que increíblemente optimizan el trabajo de los vlookup en vba, pasando de hacer el trabajo de 30 minutos a 10 segundos sin exagerar. He intentando con un código que me ayudaron en un foro en inglés sin embargo no logro hacerlo trabajar además que soy nuevo en …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.2k visitas
  14. Started by SALAVERRINO,

    Buenos días a los integrantes de este foro, en esta ocasión recurro a uds, para que brinde su apoyo en como mejorar la siguiente macro, lo que requiero es que me permita seleccionar la ruta donde se encuentra el archivo a utilizar, ya que esta macro ejecuta todos los archivos que se encuentran en dicha carpeta (previamente haber copiado todos los archivos a una carpeta determinada) y lo otro sería que si solo mostrara los archivos que empiecen con el nombre CONSOLIDADO xxxxxxxx.xlsm o CONSOLIDADO xxxxxxxx.xlsx, para lo cual adjunto archivos como ejemplos. archivo principal: MUESTRA FORMULARIO.xlsm Private Sub CommandButton2_Click() Dim ruta As String Dim …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  15. Buenos dias: Tengo un archivo "original.xls" tipo listado con muchas filas. MAT.CONS se repite en varias filas y la siguiente columna tiene MATERIAS asociadas a ese MAT.CONS Quería conseguir con una macro que quedara como vemos en "agrupado.xls". Es decir, ver solo la fila con la primera aparición de MAT.CONS y solo en el caso de pulsar el botón + poder ver el resto de las filas. Si no me he explicado bien, puedo aclarar cualquier duda. Muchas gracias Agrupado.xlsx original.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 771 visitas
  16. Started by TREBUR,

    Buenas noches, ¿Se pueden descomponer intervalos de fechas utilizando macros? La intención es extraer la cantidad de días entre la fecha inicio y la fecha fin, y a su vez colocarlos automáticamente en el respectivo MES. Adjunto archivo de muestra... descomponer_fech.xlsx

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.4k visitas
  17. Started by howling,

    buenas noches nesecito un poco de ayuda con una macro lo explico la macro busca la ultima fila con datos y luego deberia copiar desde esa selda seleccionada hacia la derecha(rango variable) luego pegar en una columna de otra hoja buscando la ultima fila vacia con trasponer espero haberme explicado lo mejor posible a continuacion solo he llegado hasta esta, pero no encuentro el resto Dim ultimaFila As Integer ultimaFila = Cells(Rows.Count, 3).End(xlUp).Select

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 8.5k visitas
  18. Hola buen día, nueva mente necesito de a su valioso apoyo, requiero de una macro que me permita copiar datos de una hoja de acuerdo con varias condiciones en otra hoja, necesito actualizar un stock y no deben aparecer los lotes que ya salieron, dentro del archivo adjunto les muestro tres hojas de calculo, donde vienen las especificaciones. espero que alguien pueda apoyarme, de antemano muchas gracias EYS-STOCK.xlsx

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 2.1k visitas
  19. Started by Manuel TR,

    Hola a todos, si alguien me pudiera ayudar a modificar una macro que encontré por ahí, la cual consolida varias columnas en una sola, para ello primero se tiene que seleccionar el rango a consolidar y luego ejecutamos la macro y la consolidación se realiza justo en la columna siguiente del rango seleccionado y lo que deseo es que la consolidación se realice pero no en la columna siguiente si no en la tercera columna siguiente del rango seleccionado. Muchas gracias Sub rango_columnas() 'macro une varias columnas en una sola columna 'para ello primero seleccionamos el rango a unir 'y luego ejecutamos la macro Dim rango As Variant Dim i As Long…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.5k visitas
  20. Started by eugeniocol,

    Hola buenas. Necesitaria una macro para copiar pegra de una hoja a otra con un criterio. Copiar pegar L:R si en R >0 Salud2.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.8k visitas
  21. Buenas noches, me podéis ayudar con esta macro? es para generar codigo de barras, la cuestion que solo me funciona de la siguiente manera: Code128 20, 20, 20, 1.1, ThisWorkbook.ActiveSheet, "11Q94PTT" Pero me gustaría que se cambiara con un rango de una celda. ¿ seria posible algo asi? pero me da error Code128 20, 20, 20, 1.1, ThisWorkbook.ActiveSheet.Range("=F1C1") y mil gracias code128.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 835 visitas
  22. Estimados Amigos, Buenos días, tengo el siguiente libro que realiza un procedimiento basado en buscar la última fila con información y recuperar el rango en la columna E. Me gustaría poder trabajarlo únicamente con un rango seleccionado, es decir, que cuando ejecute la macro no lo haga para todo el rango si no para el rango que seleccioné. Alguien me podría dar una mano por favor. Gracias. libropruebas.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  23. Estimados Amigos, Buenas tardes, tengo una pregunta sobre como podría optimizar una macro que recorre 300.000 registros y concatena información con el siguiente código: Sub ConcatenaColumnas() Dim numzeros As String numzeros = "0000000000" Range("A:B").Select Selection.NumberFormat = "@" Range("E3").Select '------------------Columna Validación-------------------------------------------------------------------------------------------- Do While ActiveCell <> "" 'Bucle hasta la celda este en blanco ''de la celda activada retroceder xx números (0, -xx) a la izquierda y escribir fórmula ActiveCell.Offset(0, -4).FormulaR1C1 = _ …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  24. Started by jose_luisc,

    Buen día gente del foro, acá estoy con otra consulta: le asigné a una figura que está en la hoja "Busqueda B.VENTAS" una macro para que me dirija a la celda G4 de esa misma hoja, pero ahora sumé otra hoja y necesito agregarle a ese código un condicional que evalúe: si el valor de la celda H3 que está en la hoja "VENTAS" es mayor a 21 entonces me debería dirigir a la celda G4 de hoja "Busqueda B.VENTAS" (que es donde está el botón) y si es menor o igual, que me lleve a la hoja "FACTURA MEDIA" en la celda G4. Desde ya muchas gracias Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  25. Started by Felipe Torres,

    Estimados quien sabe como puedo acelerar el procedimiento para guardar registros, ya que el archivo adjunto realiza lo que quiero con pocos registros, pero si coloco mas registros en la hoja, se me queda pegado el excel y se demora en guardar, como a las 3 o 4 minutos para terminar el procedimiento. ¿Hay algún proc mas efectivo? La idea es llevar los registros visualizados en la hoja excel a una tabla de una base de datos SQLite. Libro1.xlsm

    • 0

      Reacciones de usuarios

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