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

    Estoy utilizando un macros para buscar cualquier texto que se escriba en determinada celda, pero me gustaria pulirlo un poco para que sea mas eficiente. La macros es la siguiente: Sub Buscar() ' ' Buscar Macro ' ' Cells.Find(What:=Sheets("Hoja1").Range("H5"), After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate End Sub[/CODE] Como veran en el ejemplo cuando dan clic sobre boton buscar, localiza el nombre que se ha escrito en la celda H5 pero despues de encontrar el ultimo resultado salta a la celda H5 que supuestamente es el buscador…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 889 visitas
  2. Started by icemoonlove,

    Hola Buen día Tengo el siguiente formulario donde al seleccionar un alimento, posteriormente dar click en aceptar estos se copian a unos textbox. Necesito que de los textbox primero se seleccione el proveedor mediante un combobox, posteriormente filtre si se tienen 1 o más presentaciones y finalmente añadir el costo de dicho alimento. Tengo 1 hoja para cada proveedor, se me había ocurrido ponerlas juntas, pero no lo veo factible si posteriormente el proveedor ofrece un nuevo producto. Estoy abierta a sugerencias de cómo organizar los datos. Espero ser clara y de antemano muchas gracias 2 Combobox dependientes.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  3. Started by yiyilans,

    Copiar rangos discontinuos solo si cumple 2 condiciones [ATTACH]40820.vB[/ATTACH][ATTACH]40821.vB[/ATTACH][ATTACH]40822.vB[/ATTACH]Buenas tardes mis estimados: Edito mi mensaje porque creo que hice una historia, además de que solo me gustaría me orientaran, Me podrían orientar si se puede copiar rangos discontinuos de la hoja1 (acumulado) a hoja2(reportes) y que cumplan dos condiciones: 1.- con un InputBox copiar solo lo que sean Elektra y 2.- si se puede otro InputBox y con ello elegir el año y solo copiar los registros de ese año, la fecha que tomo para hacer el filtro es del titulo “REG_fechahora”. Mis títulos no son los mismos pero los relaciono en un archi…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.7k visitas
  4. Started by JDaniel,

    Buenas, tengo un programa ligeramente complejo bastante rematado, pero me falta un tema. Tengo una función que se encarga de contar las celdas de tal color, desde una fecha hasta otra. Esto funciona bien. El problema es que esta funcion actua sobre 100 hojas, todas iguales, creadas a partir de una como plantilla. El problema es que si por ejemplo, actualizo (ya sea de manera automatica, o a mano) el libro completo estan sobre la hoja1 (teniendola activa), todas las funciones del libro se actualizan teniendo en cuenta las casillas de la hoja activa. Es posible decirle a la macro, usa F2 de TU HOJA? Adjunto el archivo de excel. La funcion problematica se encuentra en e…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 643 visitas
  5. Compañeros, una vez mas recurro a los expertos. como seria el codigo para que mediante una combinacion de teclas (ejemplo: ctrl + alt + q) se ejecute la macro de un command button que se encuentra dentro de un form que esta dentro de otro command button. :stupid: un poco complejo, intente con el evento onkey en el workbookopen pero muy complicado y no pude. Saludos

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.6k visitas
  6. Cordial Saludo, Les agradezco inmensamente su colaboración, requiero elaborar una macro que en la hoja 1 me permita al usuario digitar una cédula y en la parte inferior de la hoja 1 traiga toda la información de todas las columnas y filas que tiene esta cédula en la hoja 2(hoja que debe estar oculta por seguridad), la macro solamente debe permitir mostrar la información en la hoja 1 para una cédula digitada. En el archivo excel anexo envío un pequeño ejemplo. Les agradezco infinitamente la colaboración que me puedan dar este fin de semana ya que debo tenerla lista para el lunes a primera hora. EJEMPLO MACRO INFORMACION.xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  7. Hola amigos, es la primer vez que escribo, estoy adentrándome a este mundo de las macros y quiero ver si pueden apoyarme en lo siguiente, espero poder ser claro: Tengo una tabla, en la cual tengo una columna de meses y otra con el estatus de reportes (cerrados, en proceso o sin iniciar), quiero saber cuantos reportes finalizados, en proceso y sin iniciar tengo por mes, lo que yo estaba tratando se hacer era crear un botón por mes e ir obteniendo los valores, o mi otra opción es que cree una tabla con todos los meses y el numero de reportes dependiendo el estatus Ejemplo: Haciéndolo con filtros, tengo que en JUNIO tengo 3 reportes cerrados y 11 en proceso, pero me están…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 815 visitas
  8. Started by antoniojoaquin,

    Buenas. Necesito saber como puedo mover de una página a otra unos datos. Tengo una encuesta y esa encuesta cada vez que se realiza se va acumulando ahí en la pagina donde se recogen los resultados pero ami me gustaría tener una página nueva donde tener el nombre de cada uno y que a partir de ahí se vaya actualizando solo. Ej: Pablo me responde hoy que tiene 8€ pero mañana vuelve a hacer el cuestionario y pone que tiene 9€. Yo en vez de ver los dos y mirar en todos a ver si lo han hecho 2 veces o algo quiero en otra hoja que me ponga "Pablo" y ahí se vaya rellenando solo, cada vez que conteste se vaya o último que ha contestado a esa página. Espero haberme explicado bie…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 701 visitas
  9. Buenos Días compañeros, Soy nuevo en programación en VBA y estoy un poco perdido, agradeceria que me ayudarais en este tema. Estoy creando una macro donde necesito que el usuario interactue. Es decir la macro empieza, y con un msgbox le pide al usuario que introduzca unos valores a partir de la celda C7. El usuario tiene que copiar una información que tendrá guardada donde el quiera, a partir de esta celda C7 y cuando lo del al boton acceptar del msgbox me gustaria que la macro se reanudará en el puesto donde se paro. esto es possible?

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.4k visitas
  10. Started by torrec5,

    Buenas noches expertos, mi pregunta es si conocen como se puede tomar una foto desde un userform utilizando la webcam, es decir estoy tratando de crear un registro de usuarios y por el momento tengo un boton con el comando getopenfile para buscar el archivo, sin embargo me gustaria tomar la foto al instante en que registro un nuevo cliente. Muchas gracias en adelantado. Saludos.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
  11. Started by vmjmb,

    Buenos tardes, Ojala puedan ayudarme con este problema e intentado con EcelFix pero no e podido recuperar un archivo excel (xls) de 198mb que me fue enviado hace unos dias. Ojala alguien pueda darme alguna solucion a mi problema ya que es vital para mi poder tener este listado. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  12. Started by jeladio,

    Hola amigos: Acudo nuevamente para solicitar su ayuda, tengo el siguiente codigo que llena un listbox llamado T3 y lo ordena alfabeticamente y todo funciona bien pero tengo otros listboxs T4, T5,....T10 que quisera llenarlos con el mismo rango de datos, ¿es posible hacerlo con un bucle? o de que otra forma puedo hacerlo para no tener que repetir el mismo codigo, tantas veces como listbox tengo que llenar. Espero haberme dado a entender. saludos Private Sub CommandButton1_Click() Set SourceSheet = Worksheets("sustratos") LastRow = SourceSheet.Cells(Rows.Count, 2).End(xlUp).Row On Error Resume Next Set Coll = New Collection With T3 .Clear …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  13. Started by RORO1981,

    Estimados: Queria compartir una solución que encontré, respecto a los que trabajan con conexiones ADO y bd access: Cuando creamos una consulta access y el nombre de la tabla es compuesto por lo general nos VBA nos reconoce solo la primera palabra de la tabla ejemplo si la tabla se llama "Factura uno" la consulta que hacemos en vba solo reconoce la palabra "Factura" por lo que arroja el error de que no encuentra la tabla indicada. La solucion para este problema es más simple de lo que se piensa (no se si ya lo habian posteado aqui en este foro), basta con que en la consulta SQL que hacemos en vba encerremos entre corchetes el nombre de la tabla Sql = "select num,clien…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.6k visitas
  14. Started by mennoch,

    Buenos dias, Adjunto el fichero el cual contiene una macro, lo que hace es que a partir de los datos que tengo, meta una fecha de inicio y una fecha de fin filtrando asi el campo vencimiento de contrato, y que estos datos se me copien en otra pestaña para realizar una serie de cualculos (pestaña informe). Mi problema viene que si ejecuto la macro y pongo: FECHA INICIO: 28/09/2012 FECHA FIN: 28/12/2013 La persona del ejemplo la cual tiene dos tramos, una vez me pone su fecha de vencimiento de contrato el 12/08/2013 y si la ejecuto otra vez me sale 08/12/2013, si la vuelco a ejecutar vuelve a la primera fecha y asi todo el rato. No se pq pasa esto en la otra fec…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 761 visitas
  15. Buenos días: Dispongo de un libro con dos hojas. Una de ellas con nombre "Data" y la otra con nombre "Data processing".hoja data En la hoja "Data" tengo 6 columnas con los siguientes datos: A (fecha), B (horas), C (irradiación), D (Temperatura), E (humedad) y en F (Viento). En la celda G1 me gustaría colocar la fecha de inicio (por ejemplo, 01/03/2012 00:10) y en la celda G2 la fecha final (por ejemplo, 01/07/2012 14:10). El objetivo de esta macro quiero que sea la de que copie los datos desde la fecha de inicio hasta la fecha final y que los coloque en la hoja "data processing". Con mis limitados conocimientos de programación VBA solo alcanzo a realizar la copia d…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 6.9k visitas
  16. Started by alexzea26,

    Buenos dias. Cree una hoja de calculo con bastantes ecuaciones / funciones, botones de comando y un checkbox. Es parecido a un sistema de facturacion donde un boton crea una nueva hoja para un nuevo dia copiando la actual y borrando ciertos datos. El problema es que, casualmente y en operaciones diferentes como abrir otro archivo o al crear una nueva hoja (dia) se redimensionan y se mueven de su lugar los botones de comando y el checkbox haciendose mas pequeños y desplazandose a la izquierda y arriba de la hoja. En ciertas ocasiones, una vez presentado este error, para el siguiente dia (un tercero) se copia bien, otras se copia con el error, y otras se siguen haciendo m…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 6.5k visitas
  17. Buenas tardesa todos Solicito de todos de sus finas atenciones, ya que yo soy nuevo en esto, tengo poca o casi nula experiencia en VBa para Excel y poco a poco estoy creando un programa, ya tengo nos Userform logrados y me falta un tercero, en el cual quisiera extraer la informacion de una base de datos de excel, utilizando un userform y filtrando como si fuera los autofiltros de excel despues tenerlos en un resumen (como fuese) y despues crear ese resumen un pdf para poder mandarlo por pdf. Espero con la breve explicacion que coloque se entienda. Anexo tambien el userform del modulo de consulta que me necesito por favor me ayuden a realizar. Creo con estos datos y s…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 932 visitas
  18. Started by hernangimenez25,

    Hola, Tengo que crear Frame con OptionButton dentro, como no se la cantidad de Frame que tengo que crear, lo configure con el bucle For "i", el problema es que, al querer crearlos no me deja, me tira un error. este es el codigo: [FONT=Courier New]For n = 1 To i : t = t + 1 : g = g + 1 With Me.Controls.Add("Forms.Frame.1") .Name = "Name" & t: .Name = t .Top = 82.5 + ((n - 1) * 60): .Height = 49.5 .Left = 12: .Width = 246 .Add ("Forms.OptionButton.1") .Name = "Value" & g: .Value = False .Top = 18: .Height = 17.25 .Left = 12: .Width = 57 End With[/FONT] next[/CODE…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  19. Hola, requiero hacer una macro de captura automática en Excel 2007 y 2010, pero no se como lograr que espere en la celda para la entrada de datos y que al momento de dar enter, automáticamente se vaya a la celda de la derecha. Agradezco mucho su ayuda.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 785 visitas
  20. Estimados Mi problema es el siguiente, Tengo una planilla de excel con un formulario para ingresar datos, estos se guardan en una fila hacia el lado, usando varias columnas. Estos datos están registrados según un número "orden de taller" (OT). Hay varias OT con cantidad de piezas mayor a 7. Por lo que tendría que ingresar la cantidad de veces, según piezas tenga la OT (los mismos datos). Realize un nuevo número de OT para este problema. N°OT - correlativo - Cantidad de piezas. EJ: N° OT: 45102, Cantidad pieza:3 N°OT: 45102-1-3; 45102-2-3; 45102-3-3. A mi me gustaría ingresar los datos solo una vez en el formulario y que al decir que son “x” cantidad, se genere …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 790 visitas
  21. Started by darwingcamacho,

    Buenas, me encuentro con el siguiente inconveniente: Tengo un archivo con diferentes hojas, las cuales quiero imprimir en PDF es un orden diferente, por lo cual cree un codigo para ello, donde puedo definir el orden de impresion segun se requiera, y asi mismo, seleccionar el rango de impresion. El problema que cuentro que es quiero que se genere un solo archivo PDF, con el codigo que desarrolle imprime N cantidad de archivos en PDF. Sub Imprimir() Dim Hoja As String Dim Rango As String Dim i As Integer Application.Dialogs(xlDialogPrinterSetup).Show For i = 1 To 5 Hoja = Worksheets("Print").Range("A" & i) Rango = Worksheets("Print").Range("B" & i) Workshe…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.8k visitas
  22. Buenas Tardes amigos, Un gran servicio, creen que me puedan ayudar, necesito formatear la columna leída desde la macro a texto, y evitar que los valores 01, 04, 0009 los muestre como 1, 4, 9 he probado con la grabadora de macros y no lo he logrado, sale un error de depuración: adjunto ejemplos, he intentado hasta personalizar los tipos de datos a nivel de celda (@, ####, RRRR, etc. )en la plantilla pero nada, creo que la solución está en hacer referencia a los valores pero no sé cómo. Adjunto ejemplo, crear la carpeta "carpeta" en c:\ y ejecutar la macro. En la prueba ver la columna AJ (cuenta bancaria) Graaaaaciaaaaas !!!!!!! WALTER. CPE_MAESTRO_PER_PERSONAL.txt …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 973 visitas
  23. Started by stepha,

    Error de codigo para copiar y pegar de una hoja a otra Bueno días foristas: En anteriores ocasiones me a sido de mucha importancia su ayuda y sus conocimientos por lo que vengo ahora a pedirle auxilio de nuevo. En un archivo de Excel tengo un código en la hoja "PARA SUBIR" que se supone me ayudaría a copiar unos datos de la hoja "CONVERTIR" y las pasaría en formato de texto (sin formulas) a la hoja "PARA SUBIR", pero me esta mostrando un error de procedimiento y no me deja correr la macro. Acá dejo el Código que estoy usando, si alguno de ustedes me puede ayudar estaría eternamente agradecida. Private Sub CommandButton1_Click() Application.ScreenUpdating = False '…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.5k visitas
  24. Necesito ayuda con esta macro. Estoy empezando en esto de la programacion vba y no estoy muy ducho. No consigo resolver el error que me da el mensaje. Estoy trabajando con una hoja de excel con la finalidad de exportar datos de una web de empleo americana a excel categorizando ciertas informaciones en dos columnas. La hoja tiene dos módulos. Al ejecutar la macro aparece un mensaje en relación con el modulo 1 donde se dice "error de compilación el procedimiento externo no es valido ". A continuación se subraya en el código la línea Columns("A:D").Select. Aqui adjunto el código de módulo 1 ------------------------- ' Macro1 Macro ' formatting imported data ' ' Col…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 6.9k visitas
  25. Started by kalimerodrag,

    Hola de nuevo espero me podais ayudar con esta nueva duda. Para colocar una imagen en un boton de comando en un UserForm, voy a picture elijo la ruta de la imagen y la pongo en el botón, hasta ahi todo bien, mi problema empieza cuando quiero quitar la imagen de ese mismo botón de comando, que no se como hacerlo. Gracias por vuestra atención. Un saludo.

    • 0

      Reacciones de usuarios

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