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. Algún formulario Excel que permita explorar y abrir archivos de windows?

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
  2. Hola, buenos días. Realmente he buscado en varios foros, antes de hacer la pregunta. Quisiera saber si me podrían ayudar con un problema que he tenido estos días de la nada... Digo de la nada, por que al parecer, se han hecho unos cambios de versiones de servidores, que en teoría no iban a generar problemas. Tengo un script en Excel, donde hago una consulta SQL Server, y extraigo información en base a fechas de entrada... Sin embargo, de la nada ha dejado de funcionar cuando lo ejecuto desde Excel, pero si lo hago desde un IDE de SQL Server se ejecuta perfectamente. Mi VBA es el siguiente: With Me CFechaI = Format(CDate(.ComboBox1.Value & "/"…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 783 visitas
  3. Started by LeandroA,

    Les comparto este ultimo proyecto en que estado jugando espero que les sea de utilidad.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 815 visitas
  4. tengo unos datos en la hoja2 y me gustaria extraerlos como se muestra el ejemplo en la hoja proyecto2.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1k visitas
  5. Hola a todos; -Adjunto macro vba Excel con un formulario y un botón que ejecuta una consulta sql a una tabla de Access y devuelve el resultado según el valor que he puesto en el Where. Hasta este punto todo bien. Ahora bien, se me ocurre lo siguiente si a la hora de hacer la consulta hay varios registros iguales, ¿se podría configurar la macro para que a medida que vaya pulsando el botón me muestre los siguientes registros?. ¿Es mucho pedir, o es factible? Saludos y buen día a todos VIDEO: BuscarValoresRepetidos BRepetidos.zip

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2.6k visitas
  6. Started by ramonvar,

    Buenas Tardes Señores del ForoNecesito una mano con una planilla, para la cual desearía que una macro me realice lo siguienteEn la columna "A" fila "1" podría tener datos hasta la "A" fila 460000" por decir asi, contiene la ruta de donde están ubicados mis archivos y,En la columna "B" fila "1" podría tener datos hasta la "B" fila 460000" por decir asi, contiene mis archivos propiamenteLa idea es seleccionar la matriz completa y que me las combine en la columna "A" fila por fila, o en otra columna, que podría ser la columna "C"Desde ya agradecido..Adjunto Planilla Ejemplo LISTADO-CONCAT-2.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  7. Buen día, tengo la siguiente pregunta, tengo un shape en la hoja y al hacer click en este, quiero insertar otro shape, la cosa es que este segundo shp quiero que aparezca dentro del área visible de la hoja, el segundo shape debería aparecer debajo del primero, pero si el primero esta muy abajo el segundo debería mostrarse por enzima del primero para que quede en el área visible de la hoja. pongo una imagen a continuación en el primer cuadro se muestra bien en el segundo es como no quisiera que salga, y el tercero la solución para el segundo cuadro ahora bien a la hora de insertar tendría que preguntar if shape1.top + shape1.height + shape2.height - hoja…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 698 visitas
  8. Started by Galactico,

    buenas noches, tengo una macro para navegar por paginas web, la cual siempre me ha funcionado bien, pero siempre me ha costado dar con los objetos web he intentado con las siguientes sentencias sin éxito para el color: c.Value = htmlDeRespuesta.getElementsByName("_ngcontent-hhw-c116")(0).innerText y para el valor 1,99 c.Value = htmlDeRespuesta.getElementsByName("_ngcontent-xsn-c116")(5).innerText c.Value = htmlDeRespuesta.getElementsByClassName("col-xs-2 price")(0).innerText c.Offset(0, 3).Value = htmlDeRespuesta.getElementsByClassName("tableHere")(0).innerText pero no he podido dar con el valor de ninguna form…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 509 visitas
  9. Started by Manuyes,

    Buenas noches, estaba intentando adaptar una solución que me dio @Haplox, hace bastante tiempo, junto con otra de @Antonipara una pequeña base de inventario, pero me da error en esta parte Set encontrado = wsDestino.Range("b2:b" & uFd).Find(Celda) y llevo un par de días y no doy con ello, imagino que es un problema del Rango definido, pero me pierdo. Cuando le doy a depurar, observo que "encontrado" es = a nada, también que uFd = a 1048577, no se si esta recorriendo toda la columna hasta el final del libro. También querría ignorar, ocultar o que no me cargara ciertas filas en mi listbox, del formulario inventario.…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  10. Hola buenas tardes, solicito de su ayuda, ya que estoy programando una macro que genera referencia de depósitos bancarios concatenando varios valores guardados en las celdas de una hoja en especifico de mi libro de Excel y posterior proporcionarla al cliente, específicamente mi problema es: Al buscar un cliente en mi BD el resultado me lo arroja en un listbox que llamé "LISTA" y cuando selecciono el valor que encontré después de la búsqueda para capturarlo en las celdas que le indico a la macro, antes cabe mencionar que para seleccionar ese resultado de mi búsqueda lo hago con una acción "DBLCLICK" , y de las 5 columnas que tiene mi BD, solo me selecciona la columna y fi…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 712 visitas
  11. tengo los siguientes codigos y me gustaria tener la opcion de ejecutarlos la cantidad de veces que sea necesario por ejemplo call aleato call zero ejecutar la siguiente cantidad de veces ( ) Sub Aleato() borrar_anteriores With Application .ScreenUpdating = False .DisplayAlerts = False '-- ufila99 = 1 + Hoja99.Cells(Rows.Count, 1).End(xlUp).Row tf = Sheets("estadisticas").UsedRange.Rows.Count tc = Sheets("estadisticas").UsedRange.Columns.Count '-- For x = 6 To 37 Do: f = Int((tf * Rnd) + 1) c = Int((tc * Rnd) + 1) Loop Until Sheets("estadisticas").Cells(f, c) <> "" Sheets("analisis").Rang…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 495 visitas
  12. Started by xinortiz,

    Buenas noches estimados tengo un pequeño problemita... debo imprimir un formato A6, pero a la vez con un option buton imprimo de acuerdo a un rango OPTIONBUTON1: AZUL = Range("B2:H28").Select OPTIONBUTON2: AZUL + VERDE = Range("B2:H43").Select OPTIONBUTON4: AZUL + VERDE + AMARILLO + NARANJA = Range("B2:O43").Select OPTIONBUTON3: AZUL + VERDE + AMARILLO = aqui esta mi problema lo he querido hacer asi: Range("B2:H43, I2:O22").Select pero me imprime en hojas separadas y deseo que salga en una sola hoja Espero me sepan entender y ayudar quedo muy agradecido

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k visitas
  13. Started by JurgenLobnig,

    Buenas tardes amigos. Necesito ayuda con una macro que después de funcionar durante un par de años sin problema en entorno Excel 2010, ahora al haber cambiado a Excel 2016 se ejecuta incompleta. La macro debe copiar y guardar una selección como imagen jpg (lo cual hizo a la perfección hasta ahora) y probandola en el editor paso a paso(F8) lo hace correctamente, sin embargo al ejecutarla mediante el botón que tengo en la barra de herramientas me genera una imagen en blanco, o sea no pega el contenido del rango seleccionado. He revisado la configuración de Excel, pero parece que no doy con el fallo, por lo cual os pido ayuda ya que necesito utilizar esta macr…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 912 visitas
  14. Started by Nady,

    Buen día estimados amigos del foro agradezco me puedan colaborar con una sencilla aplicación a este archivo, requiero por favor que cuando yo marque una casilla esta quede bloqueada por medio de una contraseña, ósea que no se puede des-marcar hasta que yo coloque una contraseña. Agradezco de antemano el apoyo que me puedan brindar. Saludos y cuídense mucho.? casilla de marcacion.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 717 visitas
  15. Started by Teo1099,

    Hola buen día a todos los excelianos ? Quisiera pedir de su valioso apoyo para lo siguiente: Tengo una hoja de excel que contiene un cierto número de comlumnas, por lo general entre 20 y 30 y un número de filas que van deacuerdo a la cantidad de personas que estan o pueden estar en esa hoja. Lo que siempre requiero son 4 columnas, que es el Número del empleado, Nombre, centro de costo (Cecos), horas Extras, Descanso trabajado y Descanso ganado y por lo tanto hay veces que esa hoja de exel puede en ocaciones contener menos o mas columnas, sin embargo simpre requiero de las columnas que antes menciono junto con la información que contiene cada fila o celda, no se …

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.6k visitas
    • 1 seguidor
  16. Started by LeandroA,

    Hola como puedo hacer para que mi funcion se actualice sola en la celda como lo hacen las funciones propias de excel, me explico si pongo en una celda =ahora() esta se auto refresca cuando cambio algún valor de la celda, pero si yo creo una funcion como esta Public Function Mifuncion() As String Mifuncion = Now End Function y luego en la celda pongo =Mifuncion() esta no se auto refresca cuando cambio un valor en cualquier celda. Gracias

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  17. Started by MauriciodeAbreu,

    Buenos dias estimados... Tengo la siguiente duda. ¿Es posible tener dos eventos (independientes) OnTime trabajando simultaneamente en el mismo libro? Pongo un ejemplo: El primer evento OnTime comprueba la actividad en el libro, y al tener 10 minutos de inactividad cierra el libro. El segundo evento OnTime realiza un backup del libro cada 30 minutos. Ambos eventos estan en modulos separados. Agradecido de antemano por vuestros consejos y ayuda

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.7k visitas
    • 1 seguidor
  18. Buenos días, ¿podrías ayudarme con el código que se debe aplicar para desagrupar todas las columnas de una hoja excel? También necesitaría vuestro apoyo para descubrir como eliminar las columnas que contengan la palabra "Production plan" y "dispatched volume" de la fila 5. Hasa ahora tenía la siguiente formula, pero me da error: Sub Control_Producción() ' ' Control_Producción Macro ' Controlar el material producido vs la producción planificada ' ' Acceso directo: CTRL+p Cells.ClearComments ' eliminar comentario de la hoja' Worksheets(1).Select Set MR = Range("5:5") ' Eliminar columnas que contengan la p…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  19. Hola Estimados del foro , estoy buscando información y a la vez tratar de solucionar un inconveniente con mostrar una imagen donde detalle mi problema: tengo un formulario: (controles listbox,image)y una carpeta donde están todas las imagenes (miles de imagenes).,cuando yo selecciono en el listbox un codigo concatenado ejemplo ("200085-41257"), deseo que me muestre la imagen que esta alojada en la carpeta "imagenes2021" ,pero aqui viene el problema las imagenes que estan en la carpeta no tienen el mismo nombre del listbox la imagen se extrae de una web y viene de la siguiente forma : codigo+zona+fecha ejemplo "200085-41257-20210215.PNG" mi pregunta es como po…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.6k visitas
  20. Hola a los foreros y maestros del foro, tengo un duda que seguro que me daréis solución, en un listBox tengo una columna llenas de códigos ( al mes me genera mas de 1000 codigos en total) estos van del B01 al B25, con el siguiente macro solo me reporta uno, he probado y no se como hacerlo para que me reporte la información de los 25 codigos y me cuente los generados (ejemplo B01 =124 , B02=78, B03=189 ..etc) mi nivel de macros es de un principiante. Gracias por adelantado Private Sub CommandButton2_Click() For i = 0 To ListBox1.ListCount - 1 If ListBox1.List(i, 5) = "B01" Then Contador = Contador + 1 End If Next i Label3 = "B01 = " & Contad…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  21. Started by Teo1099,

    Hola a todos (as) Tengo el siguiente código que pasa cierta información de una hoja a otra, todo funciona bien, el único detalle es de que quisiera que no me sobreescibiera o se pegara siempre sobre la misma columna, si no que se pegara en la siguiente columna disponible, no se que me falta en el código para poderlo arreglar Espero haberme dado entender Sub cONCENTRADO() 'copia columnas a la TE-DESC Sheets("TE-DESC").Select Range("A4:B35").Select Selection.Copy Sheets("CONCENTRADO").Select Range("A1").Select ActiveSheet.Paste End Sub

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 663 visitas
  22. Buenas tardes a los foreros y en especial a los maestros que tanto nos reportan con sus conocimientos a los iniciados, el problema que se me representa con el formulario es que al cargar los datos estos los importa correctamente es a la hora de usar el filtro tanto el Control como la Fecha, la fila de Objetivo% (es numérico) no me respeta los dos decimales sino que este los amplía hasta llegar a 8 decimales he buscado por el foro y no visto nada al respecto, os agradecería cómo solucionar dicho inconveniente Gracias por adelantado .......no puedo adjuntar el archivo me dice que es demasiado grande, adjunto macro por si sirve de algo. Private Sub CommandButton3_Click(…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2k visitas
  23. Started by NAB_20,

    Buenas noches, estoy automatizando un Word que se nutre de datos de una hoja de Excel. Esto me funciona correctamente... Quería también copiar una tabla del Excel en un Word y no estoy encontrando demasiada información de cómo hacerlo, alguna idea? En el caso que sea viable se puede determinar el lugar exacto donde queremos que se pegue? Saludos y gracias!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.2k visitas
  24. Buenas, Hay alguna razon por la cual cuando se ejecuta una Macro, se genere un archvio de solo lectura alterno al original? El codigo que uso es este: Sub TrapasarTrimestre2() 'Leyendo cadena de texto Dim Anio%, Trimes As Variant Dim Conn As Object, rst As Object, SQL$ Dim Ruta$, Datos As Worksheet, RELACION As Worksheet, Rubro$, Tabla$, Campos$, RutaTriAnt$ Dim LibroDestino As Workbook, Z As Long, Condicion$, Cm%, Columnas As Variant, CamposRecord As Variant Dim FIni As Date, FFinal As Date ', UltFila As Double Dim HojaActual As Worksheet, Uf As Double, x As Long, y As Long Dim LibroTriAnt As Workbook With Application .ScreenUpdating = False .EnableEve…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 703 visitas
    • 1 seguidor
  25. Started by HECTOR_SE,

    Hola, buenas tardes, Estimados. estoy trabajando en una macro de generación de ordenes de trabajo pero me da error al crear una ot y no me enlazan una serie de datos con el modelo final de ot que necesito crear, si alguien me pudiera ayudar se los agradeceria, ya que tengo asociados equipos, patentes horometros, kilometrajes, costos, etc. Al yo pulsar generar ot me deberia crear una pestaña con la ot modelo (se asigna el numero de ot en pestaña; ej; OTTCLM64 y en el encabezado del formato )y asignar todos los datos que le ingrese en la tabla de ingresos,luego al asignar hh de cada actividad y costos asociados (costos que deberian estar enlazados a la planilla de…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.8k 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.