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 DARIEN HERNANDEZ,

    Saludos: Gracias de antemano por su ayuda cada vez que me tranco. En esta ocasión tengo unos informes que se alimentan de una Tabla Master la cual reside en el mismo Workbook. Las fórmulas de estos informes están en cada celda (vlookup, countifs, sumifs, etc.). De esta manera todo funciona correctamente. Pero ahora queremos mover la Tabla Master a Access y que Excel se alimente de esa Tabla Master desde Access. Esto lo logré con este código: Private Sub Worksheet_Activate() Application.ScreenUpdating = False Dim l As ListObject Dim q As QueryTable Dim s As String hojUsr_TablaMaster.Cells.Delete 'CONEXION A LA BASE DE DATOS s = "OLEDB;Pro…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  2. Started by manus,

    Buenas a todos,Ante todo espero que estén bien.Quería consultar sobre como podría hacer un msgbox que se cierre automáticamente después de ciertos segundos. Cabe decir que he buscado diferentes opciones y las pruebo y no se porque no me funciona, simplemente el msgbox queda allí y no se cierra.Dejo acá las tres opciones que encontré pero que no me han funcionado, no sé si es que no he activado alguna librería. Quedo atento. Option Explicit Const TIMEOUT = 3 'Segundos Sub MsgBoxTimer1() Dim objShell As Object, intMsgBox As Variant Set objShell = CreateObject("WScript.Shell") intMsgBox = objShell.Popup("Mensaje Temporizado en 3 Segundos.", TIMEOUT, "exceltrabaja…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 12.1k visitas
  3. Hola Buenas Noches. Ante todo un cordial saludo a los foristas de ayudaexcel. En un libro con macros que estoy desarrollando, me he visto en la necesidad de importar archivos con texto plano y desplegarlo en una hoja de excel bajo el siguiente criterio: - debe estar formateado en codificación UTF-8 - el contenido se irá guardando en filas sucesivas. - se deberá conocer el número de filas que se generarán una vez vaciado el contenido del txt en la hoja. de lo señalado llevo bastante adelantado, pero mi problema es que al usar uno que otro método, entonces se dejan de cumplir uno de los criterios señalados. utilizando por ejemplo, la impor…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.5k visitas
  4. Started by nickmartinez,

    Buenas saludos a todos de nuevo necesitando de su ayuda,resulta que tengo en un textbox1 una cifra con separador de mil deseo que en el textbox2 al apretar un boton se extraiga el punto como separador de miles y me quede solo la cifra con el decimal que en mi caso es la coma,ejemplo: si en el text1 tengo 25.985,12 me gustaria que el text2 me traiga como resultado 25985,12 sin necesidad de usar Replace(textbox1, Application.ThousandsSeparator, "") si no algo como un ciclo que cuando encuentre el punto lo elimine o algun otro metodo que no sea el que yo indico,intente con Mid() pero no me salio,gracias y espero su valiosa colaboración eliminar punto.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.3k visitas
  5. Started by jhon fredy,

    buenos días como puedo disminuir el rango de datos para que vayan de 0 a 9 y no de 10 a 24 en este libro y si me puedes mostrar el código que se efectua en este libro gracias estadistica1.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 567 visitas
  6. Started by renato13,

    Buenas noche amigos me gustarian que me den una ayuda he encontrado en el internel un código para extraer imágenes a excel desde una carpeta pero quiero mejorar. La idea es; tengo una carpeta de imagenes y quiero desde excel digitar el código (código de la carpeta origen) en una celda "A2"que tiene un combobox y que la imágen aparezca en la "B2" con dimensiones predeterminadas y al digitar el siguiente código en la celda "A3" se cargue la imágen en "B3" y así sucesivamente porque quiero mandar esto por un correo. Le adjunto el archivo para que ayuden amigos. Gracias por su tiempo Demo2.0.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.3k visitas
  7. Started by Fran_,

    Hola, necesito saber cómo hacer ésto: Es parte de un inventario, en Excel, cada casilla de la columna tiene un texto como la siguiente línea 1 y el resultado final quiero que sea como el de la línea 2: el texto entre <i> e </i> en cursiva y el resto normal y cuando lo cambie, eliminar las dos marcas de inicio y final <i> e </i>. Cada línea quedaría así: 1 Hopkins, Gerard Manley. <i>The Collected Works of Gerard Manley Hopkins. Volume Iv: Oxford Essays and Notes 1863-1868</i>. Edited by Lesley Higgins. Oxford: OUP, 2006. 2 Hopkins, Gerard Manley. The Collected Works of Gerard Manley Hopkins. Volume Iv: Oxford Essays and No…

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 2.4k visitas
  8. Hola de nuevo, Me preguntaba cómo podría hacer para que la aplicación ofimática se ejecutara única y exclusivamente dentro del mismo puesto de trabajo. De manera que si otro usuario copiara el fichero Excel e intentara ejecutarlo en otro equipo informático, le saltara un error al tratar de iniciar la aplicación ofimática. Lo único que se me ocurre es algo parecido a esto: Private Sub Workbook_Open() With Application If .UserName <> "Ayuda Excel" Then Msgbox "Uppsss... Está tratando de abrir la aplicación ofimática en otro puesto de trabajo." .Quit end if end with End Sub A alguno de vosotros se os ocurre …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 897 visitas
  9. Started by Teo1099,

    Hola buen tardes He tratado, visto y estudiado un poco de como poder desarrollar la siguiente macro: Actualmente tengo un listado de personas, que tienen una fecha de Ingreso, la cual puede variar o ser la misma y cada uno, tiene una vigencia del 28 o 90 días, lo que necesito es que por medio de un formulario y al Abrir el archivo Excel me enliste la o las personas que están pronto por vencimiento, unos 5 antes de que llegue esa fecha, no se si haya algún valiente que se anime en apoyarme Gracias! F. de vencimiento.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  10. Hola a todxs, Me gustaría que los filtros automáticos aparecieran siempre que se activa la hoja, tal y como aparece en la imagen adjunta. Para ello, he desarrollado el siguiente evento: Private Sub Worksheet_Activate() With Sheets("Hoja1") .AutoFilterMode = False ' Desactivamos siempre los filtros automáticos... .Cells.AutoFilter End With End Sub Sin embargo, no me funciona, porque la primera vez se activan los filtros automáticos, pero a la siguiente no. Es casi como poner lo siguiente: Private Sub Worksheet_Activate() Sheets("Hoja1").Cells.AutoFilter End Sub Es decir, se quitan y se ponen cada vez que se acti…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 990 visitas
  11. Started by jhon fredy,

    expertos buenos dias como puedo unir las celdas como se muestran en el libro pista.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 756 visitas
  12. Hola a todos, Me gustaría saber si alguien sabe como se puede formar un archivo de texto con el formato adjunto a través de un libro excel. En cada fila ingrese comentario con *** ya que no todas las celdas cambian, más que nada son los números que podrían estar en alguna columna.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 728 visitas
    • 1 seguidor
  13. Started by jumarcano,

    Hola compañeros Deseo hacer un contador de dinero. Billetes y monedas. Pero para guardar los conteos Guardo los datos agregados en otra. Pero no consigo crear varios reportes. La idea es crear el primer reporte y guardar, Luego crear otro reporte y guadar.... y asi sucesivamente. Intente pero no conseguí hacerlo... Por favor me pueden ayudar Sub ReporteC() ' ' Reportes del día ' If Sheets("Conteo").Select = vbYes Then Sheets("Conteo").Select ActiveWindow.SelectedSheets.Delete Else ActiveWorkbook.Save Worksheets.Add.Name = "Conteo" ActiveCell.FormulaR1C1 = "Reporte del Dia 1 de la …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  14. Started by Antonio,

    Hola a todos. Me gustaría que alguien me ayude con una macro que ejecute lo siguiente: Tengo un rango de datos con varias columnas y filas y necesito que cuando cambie el valor de la primera celda del rango siguiente, la última fila del rango anterior se resalte con un color determinado (puede ser el amarillo, por ejemplo) En mi rango de datos, ese cambio debe producirse en la columna E (NIT), es decir, que cuando el valor del NIT cambie, la fila inmediatamente anterior a la celda que cambia de valor se resalte. Para ejemplo, subo un libro compuesto de dos hojas (Datos y Así) En Datos, está el rango de de datos, y en Así, cómo debe quedar dicho rango una vez se …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  15. Started by yobani,

    Hola a todos copie una macro de nuestro amigo JSDJSD, lo que quiero es que el filtrado entre fecha me funcione en mi libro y que el reporte lo guarde en un libro nuevo de Excel por aquí le dejaré el archivo Filtrado y reporte.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 890 visitas
    • 1 seguidor
  16. Started by jhon fredy,

    hola buenas tardes quisiera saber como puedo ejecutar este codigo cambiandole esta linea Sheets("santander").Select por hoja activada o la hoja seleccionada el codigo completo es este Sub buscaCuadro() Dim nrop As String 'busca la combinación de nros en los cuadros de pista Set hopi = Sheets("pista") Sheets("santander").Select 'limpiar pista de colores anteriores 'opcional hopi.Range("E2:AV40").Interior.PatternColor = xlNone 'se recorre col AP de hoja resultado For x = 2 To Range("AL" & Rows.Count).End(xlUp).Row nrop = Range("AL" & x) For i = 2 To 35 'filas For j = 5 To 38 Step 5 'co…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 537 visitas
  17. Buenos dias amigos. Recurro a ustedes porque tengo un problema con un formulario de busqueda que estoy haciendo, he buscado en la red, foros, YouTube, y no encuentro algo que me indique como usar el "Boton de Opciones" para seleccionar el parametro de busqueda, y tampoco un ejemplo para ver donde esta mi error. Esta es una imagen del formulario, como pueden observar hay una serie de Botones para realizar las opciones de busqueda, y por el momento solo realiza la buqueda por Baul, no he logrado hacer que funcione para el resto de las opciones. Anexo archivo de ejemplo.Ejemplo FrmBuscar.xlsm Agradecido de antemano por la ayuda que me puedan …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 705 visitas
    • 1 seguidor
  18. Started by jhon fredy,

    hola expertos como puedo modificar el principio de este codigo con la idea de transpasar no solamente los dato de la columa B sino tambien los datos de la columna A,B,C Sub zero() Dim ultimaCeldaDatos As String 'hallar la ultima celda con datos de la columna B de la hoja estadistica ultimaCeldaDatos = Sheets("analisis").Cells(Rows.Count, 2).End(xlUp).Row 'copiando datos de columna B Sheets("analisis").Range("b5:b" & ultimaCeldaDatos).Copy Sheets("archivo").Select 'posicionando en la celda donde pegare los datos en la hoja archivo Sheets("archivo").Cells(2, Columns.Count).End(xlToLeft).Offset(0, 2).Select Selection.PasteSpecial Application.CutCopyMode = False …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 714 visitas
  19. Started by joselica,

    Buenos dias, Tengo unas CHECK BOX en cuando las marco me muestra una fila en concreto y cuando lo desmarco me esconde la misma fila. Me funciona muy bien pero tengo un problema en cuando quiero proteger la hoja. He protegida la hoja con el codigo "1234", el problema que tengo es de no poder acceder a las calillas CHECK BOX para marcarlas/desmarcarlas. Quiero poder marca o demarcar los CHECK BOX con la hoja protegida y una vez que se ha enviado el correo se desmarquen los CHECK BOX al igual que las celdas seleccionadas a limpiarse. Pues no se como hacerlo para poder utilizar los CHECK BOX tambien con la hoja protegida. He intentado varias cos…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
    • 1 seguidor
  20. Buenos dias estoy trabajando para automatizar una tarea que consiste en abrir fillezila , abrir el Gestor de Sitios y bajarme un fichero me he quedado en abrir fillezila, cuando intento automatizar los movimientos dentro de este programa no me hace caso Sub obre_fillezila() Shell "C:\Program Files\FileZilla FTP Client\filezilla.exe", vbNormalFocus SendKeys "^+s", True End Sub he pronbado SendKeys "^s" pero tampoco hace nada ya no he podido ir mas alla gracias Rafa

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 545 visitas
  21. Started by audy,

    Hola a todos, os mando un saludo desde Pamplona, España. Quiero consultaros una cosa que me gustaria hacer. Tengo en una hoja de càlculo, unos cuantos commandbutton activeX, que he insertado para que me abran unos determinados formularios. Los botones no tienen texto, he colocado unos iconos bastante intuitivos, que me indican lo que abro con ese botòn. Pero quiero rizar el rizo, y me gustarìa que cuando colocara el ratòn sobre el botòn, me saliera un comentario dàndome una ayuda sobre lo que hace ese botòn. En celdas se que se puede hacer, pero en controles activeX no lo se, y si se puede, serà con codigo vba, asì que vosotros que sabeis mucho de vba, echadme una mano y …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 768 visitas
  22. Started by Sergio,

    ¡Hola! Me encuentro trabajando con un archivo ubicado en un servidor Sharepoint. Deseo obtener la ruta local de dicho archivo en vez de la URL de SharePoint. He utilizado la función CELDA ("nombrearchivo") pero siempre me devuelve la URL También lo he intentado con una macro: Sub sss() FilePath = ThisWorkbook.FullName FileOnly = ThisWorkbook.Name pathonly = Left(FilePath, Len(FilePath) - Len(FileOnly)) [a3] = pathonly End Sub Pero también me devuelve la URL. Ni que decir tiene que el archivo está alojado en OneDrive empresarial y ubicado en mi equipo (con la opción de mantenerlo siempre en mi equipo). ¿Alguna idea para obtener la ruta…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 7.7k visitas
    • 1 seguidor
  23. Hola, me pueden ayudar con lo seguiente, estoy desarrollando un proyecto en el cual consiste en cargar un comboxBox con lo datos almacenados en una celda y agregarlo a un listbox tambien que al seleccionar un item en el listbox se cargue la imagen enlazada a un cuadro de imagen. el codigo del formulario es el siguiente. Private Sub CommandButton2_Click() B_Filtro.Hide Sheets("Portal").Select End Sub Private Sub CommandButton3_Click() Vision.Show End Sub Private Sub CommandButton4_Click() B_Filtro.Hide B_Filtro.Show End Sub Private Sub display_Click() On Error Resume Next Set a = Sheets("BD") …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 836 visitas
  24. Started by Leone04,

    Hola amigos. Por favor me pueden ayudar con una macro que quiero hacer. Quiero traer los valores de la hoja anexo, cuando ponga el valor buscado (RUC) que esta en la hoja anexo2. Espero puedan ayudarme. Gracias!! buscar_datos.xlsx

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  25. Started by Conker,

    Hola buenos días, me encontré el Turbo filtro que subio el estimado @Gerson Pineda en el foro. Me funciona de maravilla, pero quería ver la posibilidad de hacer un cambio, tengo las primeras 5 filas del archivo inmovilizadas y me gustaría que cuando se aplicara el filtro estas se sigan visualizando ya que están tienen datos que necesito para poder verificar bien los datos que filtro. Adjunto el archivo, muchas gracias de antemano. AT.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 703 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.