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, me surge un problema y quisiera compartirlos para ver si tengo solución. Tengo un excel que me servirá de resumen de datos recogidos de otros exceles "que esten activos" En el excel resumen iré incrementando la columna A con diferentes datos (en este caso de ejemplo nombres de personas). La macro debería buscar en las diferentes pestañas de los libros activos si está o no y en el caso de encontrarlo traer el valor de una determinada columana (siempre la misma) al excel Resumen. Los nombres en los excel que contienen los datos no siempre estarán ordenados de igual manera por ello la macro debería buscar por coincidencia y no por posición. Adjunto un excel dond…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 641 visitas
  2. Estimados Les pido me ayuden en lo siguiente: Necesito registrar cada cambio de distintos libros en una hoja especial para esto. Tengo una base de datos excel en Dropbox y somos tres personas que usamos los libros y necesito que que registrado cada cambio en una hoja o libro especial con los cambios. Gracias Da4754

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 702 visitas
  3. Started by sstrong,

    Hola que tal, agradezco de antemano su colaboracion. No tengo mucha experiencia en macro es por eso que busco su ayuda, quiero hacer una macro con un reporte en el cual me genere una tabla dinamica en cada hoja,(esto ya lo hice) lo que quiero es que las tablas se copien en una sola hoja con el nombre del mes que se esta generando el reporte, cabe mencionar que el reporte que se llena semanalmente sus hojas estan nombradas con la semana en cuestion; ejemplo CW32, CW33, CW34 y CW35 que corresponden al mes de Agosto. Gracias de nuevo, excelente site!! 4PNL.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 648 visitas
  4. Hola, muy buenos Dias a todos ! Hoy vengo a ustedes porque me surgio un pequeño problema en una herramienta que estoy diseñando para mi oficina. Esto va de la siguiente forma, mi función es plasmar los gastos que tienen las demás oficinas y departamentos durante cada mes y este archivo visualizara de una manera fácil a los demás usuarios sus determinados gastos. Pasa que estos se codifican de la siguiente manera por Compañía, Codigo oficina, Codigo Departamento, Codigo cuenta.. En el archivo adjunto encontraran que en la hoja llamada "Consolidado" en las casillas C10, C11 y C12 hay una lista desplegable cn todos los códigos. Lo que deseo es que cuando el usuario selec…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 562 visitas
  5. Invitado ulixes33
    Started by Invitado ulixes33 ,

    Buenas, necesitaria ayuda con el siguiente codigo: If ComboBox1 = "Ingreso" Or ComboBox3 = "Efectivo" Then Cells(39, mes).Value = TextBox1.Value + ActiveCell.Offset(35, 0) End If If ComboBox1 = "Egreso" Or ComboBox2 = "Efectivo" Then Cells(39, mes).Value = Cells(39, mes).Value - TextBox1.Value End If Esta en un formulario con tres combobox y un textbox. La operatoria que busco es simple, si en determinado combobox hay una palabra, el dato del textbox se suma o se resta al valor de una celda. El problema me surge cuando en el combobox1 pongo Egreso, ya que no me hace la resta. Agradezco a quien tenga tiempo e intenciones de ayudarmeee.....

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  6. Buenos días. Soy un poco nuevo en este tema de los macros y programación y en el foro también, espero puedan ayudarme con este archivo. Lo que pretendo es que en la hoja "calendario" me muestre en las casillas correspondientes al día, el texto que agregue en la hoja "1" como un comentario, actualmente el código solo hace que muestre lo que se encuentra en la celda "C5" de la hoja 1 y en la celda activa de la hoja "calendario" como prueba, entonces para que me agregue el comentario tengo que seleccionar primeramente la celda a la cual corresponde el día y la idea es que tenga que evitar esto y pueda modificarlo desde la hoja "1" y así sucesivamente en los demás meses (se…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 756 visitas
  7. Started by Sago,

    Espero me puedan ayudar por favor, en una macro que rellena campos de una pagina de Internet, estoy usando este código, pero no me funciona, ya intente de varias maneras y aun no puedo. objIE.document.getElementById("reason").Value = "REDS" <select name="reason" class="__web-inspector-hide-shortcut__"> <option value="" selected=""></option> <option value="BENEFIT">Benefit Payments</option> <option value="CLIENT">Client Contribution</option> <option value="DIVIDEND">Dividends</option> <option value="DVDREINV">Dividend Rei…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 624 visitas
  8. Started by ELVERKU,

    hola estimados tengo un macro que eh adapatado a mis necesidades . le he hecho algunas modificaciones ya que me sirve para hacer un comparativo de precios , el macro corre a la perfecccion no tienen ningun error si a alguien le sirve lo puede adaptar a sus necesidades lo que necesito es que cuando la informacion se carge en el listbox me aparesca la informacion en orden del precio menor al mayor les agradesco de anteamano su ayuda adjunto el archivo saludos Elver ku LISTA DE PRECIOS PNH 2020 FLETERAS.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 964 visitas
  9. Hola: Necesito eliminar las filas que contengan determinadas palabras en una columna concreta. Y quisiera poner en un rango (p.ej. A1:A5) las palabras a buscar. Las únicas condiciones son poder elegir la columna sobre la que buscar y que, con solo escribir una parte de la palabra (en A1:A5) -tanto en mayúscula como en minúscula- la macro funcione ¿Alguna idea? Adjunto ejemplo similar un 90%. Saludos Matriz de busqueda.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 807 visitas
  10. Started by zeros,

    hola como seria una macro que lea una carpeta llamemosla "z" del disco duro (muchos gbs) en variados archivos y sin comprimirla y cortar los archivos la subdivida copiandola en carpetas z_1 z_2 z_3 ...... z_n con cada z_i del tamaño de un dvd , unos 4,3 gb con i , n enteros

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 590 visitas
  11. Hola a todos, necesito de su valiosa ayuda, tengo una macro que corre dentro de Private Sub Worksheet_SelectionChange(ByVal Target As Range) la cual es la siguiente: If Target.Address = "$AQ$3" Then Call ABRE If Target.Address = "$AQ$4" Then Call ABRE If Target.Address = "$AQ$5" Then Call ABRE If Target.Address = "$AQ$6" Then Call ABRE If Target.Address = "$AQ$7" Then Call ABRE .... Al final el rango arriba descrito termina filtrado y lo que necesito es que analice si la fila AQ3 esta visible y si es asi ejecute la macro abre() y si no tiene la propiedad visible no ejecute la macro y en ambos casos haga el recorrido automatico osea bajarse a la siguiente fila. Gra…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  12. Started by JoaoM,

    Hola Gerson. Saludos hacia Honduras y para ti en especial Referente a tu turbo-filtro En el numérico (Consecutivo, cantidad y movimiento) hay que insertar TODO (número completo) pero, en movimiento no me filtra (no acepta) más de 4 caracteres (números) y la columna contiene 8. Pudría ir hasta 14 números el movimiento A prtir del 4º, al introducir el 5º me dice que; Se ha producido error 6 en tiempo de ejecución Desbordamiento Por ejemplo me acepta 9154 pero no 91547048 La opción Private Sub destinogp_Exit(ByVal Cancel As MSForms.ReturnBoolean) no me funciona (nada filtra,) no sé si al amigo si También si coloco 37500 filas (lineas) con datos, al tratar de abrir…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 768 visitas
  13. Started by Miguel gutierrez,

    Hola nuevamente No sé si se pueda hacer. Tengo un archivo que contiene varias hojas (matriz) los datos de las primeras 5 hojas sirven de insumo para otras 10 hojas y para no estar cambiando en cada hoja los datos los relacione, lo que deseo es que al eliminar una fila de la hoja 1 que automáticamente también se elimine la fila de la hoja 2, aún cuando no estén los datos en la misma celda hoja1 C3: D9 y en la hoja2 D5:E11 (los datos de la hoja 2 están relacionados o referenciados de la hoja 1); para que no marque el siguiente error =Hoja1!#¡REF! y que afecta el resultado de la formula. Ejemplo 1.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 804 visitas
  14. Hola! buenas tardes. Les comento, no he podido realizar una macro que haga la función de seleccionar dentro de un rango de celdas tomar las vacías y luego colocar la fórmula que repita los datos de la fila anterior, y además ponerle un color claro. Cuando lo hago realiza la acción pero me deja los datos de color blanco. Gracias por la ayuda que me puedan brindar. Consulta excel.xlsx

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 626 visitas
  15. Hola, quiero que el boton buscar me llene tambien los datos de Semestre, Materias e Importe que actualmente no me carga, y que pueda modificar el Curso y sigan funcionando en forma dependiente tanto el Semestre como las Materias, gracias adjunto el archivo. Buscar.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 786 visitas
  16. Started by josegomez,

    Saludos a todos, con la siguiente cuestión, alguien sabrá algún código que me permita seleccionar solo las celdas vinculadas de libros externos. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 615 visitas
  17. Started by caguilar112,

    Hola a todos Necesito ayuda con un trabajo que me tiene bastante preocupado Se trata de una macro que abra un archivo existente (desde el nombre de una celda) este paso lo tengo bien claro. Pero cuando me abre el archivo en este pueden haber 1 o 2 o 3 o hasta 5 hojas con diferentes nombres. Aquí es donde tengo el problema: necesito tomar algunos datos de las hojas que existen (en este punto tengo que crear una hoja con un nombre: "Totales" y pegar la información de las otras hojas) En este momento solo tengo como abrir el archivo y me quede pegado con el copiado y pegado... Por favor con su ayuda y comentarios, se lo agradezco de todo corazón. pego código existen …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 695 visitas
  18. Buenas tardes a todos. En esta macro: Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) Public Const MOUSEEVENTF_LEFTDOWN = &H2 Public Const MOUSEEVENTF_LEFTUP = &H4 Public Const MOUSEEVENTF_RIGHTDOWN As Long = &H8 Public Const MOUSEEVENTF_RIGHTUP As Long = &H10 Sub ABRIR_IE() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Navigate "http://www.paginaweb.html" While IE.Busy DoEvents Wend IE.Visible = True DoEvents …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.5k visitas
  19. Started by pauloc1989,

    Estoy acá nuevamente para plantearles un problema que tengo: Resulta que tengo un código VBA el cual se encarga de enviar en el cuerpo de un mail en Outlook, un rango de celdas específicas además de enviar un archivo adjunto. Este código me funcionaba perfecto en un libro Excel, pero al copiar y pegar dicho código en otro libro éste no envia el mail. Al momento de ejecutarlo en teoría funciona correctamente, no me lanza errores ni nada, pero simplemente no me envía el correo. Les adjunto el código: Sub Mail_Range_Outlook_Body() ' Don't forget to copy the function RangetoHTML in the module. ' Working in Office 2000-2010 Dim rng As Range Dim ruta As Workbook …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k visitas
  20. Started by Juanpy,

    Estimados, Estoy personalizando un libro excel con una serie de botones opciones dispuesto en la cinta de opciones. Sub Add_Toolbar2() Dim TlBar As CommandBar Dim BarBtn As CommandBarButton Set TlBar = Application.CommandBars.Add(, , , True) With TlBar .name = "DupreeTasks" .Position = msoBarTop .Visible = True .Protection = msoBarNoChangeVisible + msoBarNoCustomize End With Set BarBtn = TlBar.Controls.Add(msoControlButton) With BarBtn 'ADDED HERE!! .BeginGroup = True .Caption = "Tom" .OnAction = "Open_Tom" .Style = msoButtonCaption End With Se…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 922 visitas
  21. Estimados señores buenas, felicidades por el foro. Les escribo para solicitar un favor inmenso en lo siguiente: Soy nuevo en el uso de macros y estoy creando un informe para análisis de aceite en laboratorio, lo que quiero es automatizarlo, se tienen diversos parámetros, uno de ellos es el parámetro "oxidación" al cual se le hicieron 4 pruebas en distintos tiempos, y se tiene un indicador "alarma" (adjunto archivo) La norma indica que para "oxidación" el resultado debería ser menor a 3 "normal"; si el resultado es igual mayor a 3 pero menor a 5 significa "alerta" ; y si el resultado es mayor igual a 5 significa "peligro" (cambio de aceite) Lo que quiero es que al hac…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 710 visitas
  22. Hola como están, una pregunta para los capos de Macros Bueno yo estoy trabajando con una tabla con formulas(que es mi objeto) y tengo una macro que busca insertar/eliminar filas y columnas de este objeto dependiendo de ciertos valores Declaro lo siguiente: Sub ActualizarTabla() Dim f&, c&, oldRows&, newRows&, oldColumns&, newColumns& f = Range("H1") c = Range("H2") With ListObjects(1) oldRows = .Range.Rows.Count oldColumns = .Range.Columns.Count newRows = f + 1 newColumns = c + 1 newRows = Application.Max(3, newRows) .Resize .Range.Resize(newRows, newColumns) If newRows < oldRows Then .Range.Offset(newRows).Resize…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 838 visitas
  23. Hola Soy nuevo en el foro, se me presenta una situación al compartir un archivo en excel que tiene una macro para almacenar los datos de un formulario en una base de datos. La macro lo que hace es que toma copia los datos de un rango de datos en la hoja del formulario y los pega en la Hoja Data en el inicio de la tabla, haciendo un insertar hacia abajo y desplanzando las filas que se puedan encontrar abajo. El punto es que la macro me corre a la perfección en mi computadora y en otras, pero en algunas versiones de excel me arroja el problema de automatización o me puede dar el error de "Error en el metodo copy de la clase range" Muchas gracias por su …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 804 visitas
  24. Estimados Por favor su ayuda.. Estoy interactuando con internet explorer pero me surgio un problema ya que se me presnto el siguiente codigo en la pagina de internet. <select name="YEAR" class="selectfecha" onchange=" checkDate()"> <script language="javascript" type="text/javascript">for(var num=0; num<=(thisYear - 1999); num++){ document.writeln("<option>" + (thisYear-num)+"<\/option>"); }</script> <option> Text - 2012 Text - Empty Text Node <option> Text - 2011 Text - Empty Text Node <option> Text - 2010 Text - Empty Text Node <option> Text - 2009 Text - Empty Text Node <option> …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  25. Started by GABMENDOZA,

    Hola Buenas tardes quisiera saber si se puede filtrar por medio de 2 dtpicker Ej: *quiero averiguar la entrega de algo desde principio de mes hasta fin de mes

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 553 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.