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 a todos: Adjunto un archivo en el que con un boton quiero que me copie un rango de celdas (J2:AN110) (aunque si en algun momento añado mas filas a este rango quiero que tambien se amplie el rango a copiar) a una nueva hoja dentro del libro con el nombre que se extrae de una celda. En la macro asignada al boton que tengo en la hoja "Acciones", lo que me hace es copiar la hoja entera (no se como quitar las primeras columnas (desde la "A a la I") renombrando bien la hoja resultante. Ahora bien, la pega es que si aplico filtros para eliminar filas del rango en cuestión a copiar, entonces no me lo copia. Posdata. Tengo otra segunda posibilidad con otra Macro ahora ina…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  2. Started by enriquepezzina1,

    buen dia muy interesante foro aunque la ultima duda no pudo resolverse acudo una vez al abrigo de los expertos mi trabajo requiere que abra multliples pantallas web y posterioremente loguearme en ellas tengo la macro para loguarme pero no e conseguido abrir la cantidad de ventanas web que necesito solo puedo abrir algunas e intentado con bucleas de repeticion pero como mi experiencia no es tan grande me quedo atorado en pasos que son desconocidos para mi les adjunto el archivo con la macro para que lo chequen y me guien por el buen camino graciaaaaasss.......... logueo11 1.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 677 visitas
  3. Hello everyone my name is Maurizio and first of all I would like to make you mine most sincere wishes for a Happy New Year; Since for business reasons not I managed to get them first. That said, my new problem is this. on an Excel sheet in the column (B3: B200) I have entered measurements of Specific Weight; Such as "125.3 Kg" Or "94.2 Kg" etc ...! On the other hand, in the row that goes from (i1: n1) I have entered specific data; Such as: (95.0 Kg). (90.0 Kg). (85.0 Kg). (80.0 Kg). (75.0 Kg). (70.0 Kg) as Maximum reachable roof. Now my question is this: Is it possible to highlight the cells ranging from (I1: N1) in a different color if the weig…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.8k visitas
    • 1 seguidor
  4. Quiero restar las existencias de la tabla Tbl_Productos en base a la cantidad de la tabla Tbl_Ventas y solo se deberán restar las cantidades de la fecha que conicida con el dia de hoy. Además de que si la cantidad es mayor a la existencia no realizar el calculo, mostrar un mensaje en pantalla diciendo que no hay existencia y resaltar con otro color la celda con el problema. Todo esto hacerlo automaticamente con un boton. No tengo idea de como hacerlo la verdad. Existencias.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 907 visitas
  5. Buenos días Tengo un proyecto que consta de varias hojas en donde se guardan los datos capturados desde formularios. El problema está en que quiero restringir el acceso a dichos formularios con diferentes permisos: Es decir: El Administrador: tendrá acceso total a formularios, hojas y VBA El Usuario A: tendrá acceso sólo a los formularios Clientes y Pedidos El usuario B: tendrá acceso sólo al formulario Facturas Las únicas hojas que siempre estarán visibles son PORTADA y FICHAS, las demás hojas permanecerán ocultas cuando se abran los formularios. Había pensado colocar en la hoja auxiliar oculta (CONTROL), los usuarios, contraseñas y formularios de accesos, pero no …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 778 visitas
  6. Hola compañeros, Estoy tratando de crear un evento de tipo Worksheet_Activate de tal manera que cada vez que un usuario activa la hoja, el evento reconozca si existe una tabla dentro de la hoja activa (en caso contrario, insertar la tabla). Se me ocurre algo así... Private Sub Worksheet_Activate() Const HOJA As String = "CALENDARIO" Const TABLA As String = "CALENDARIO" Dim contador As Byte For contador = 1 To ActiveSheet.ListObjects.Count ' Si la tabla no existe dentro de la hoja, entonces... If ActiveSheet.ListObjects(contador).Name <> TABLA Then ' Insertamos la nueva tabla... ActiveSheet.ListObjects.Add(xlSrcRang…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.7k visitas
  7. Started by Janlui,

    Hola, estoy haciendo una macro donde tengo un formulario y lo mando a Google Sheets. Como puedo pregunta si hay internet para que me la marque de Enviada y si no que la suba cuando si halla internet.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.5k visitas
    • 2 seguidores
  8. Estimados amigos. Me surge una duda, existe una forma de saber si se ha deseleccionado un Item de un ListBox ¿? Es decir, si tengo el primer item de un ListBox seleccionado, y lo destildo, hay manera de registrar esta acción para poder ejecutar una macro ¿? Agradecido de antemano por vuestra ayuda.

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 3.1k visitas
  9. Hola, tengo un combobox dentro de un formulario. He programado el mismo para que la lista de opciones se despliegue automáticamente sin necesidad de hacer click con la flecha para desplegarla. El problema que tengo es que cuando selecciono con la tecla enter uno de los items de la lista, el control sigue dentro del combobox. Lo que quiero lograr es que al seleccionar un item de la lista el foco se transfiera al siguiente campo del formulario. De esta forma debo apretar solo una vez la tecla enter y no dos (una para la seleccion en la lista desplegable y otra para salir del combobox). No encuentro la forma de programar algún evento para que seleccionado el item de la l…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 6k visitas
  10. Started by Galactico,

    hola buenas, he estado hace un tiempo aprendiendo y desarrollando macros en vba para realizar scraping en paginas web, en una de las paginas que utilizo apareció esta protección del sitio, el posible bypasear con vba? he leído que se puede hacer con phyton pero no conozco ese lenguaje el mensaje que dice es Cheking your browser before accessing "sitio" dejo pantallazo https://ibb.co/wp4mwzP en caso de no ser posible, quizás ya sea momento de aprender otro tipo de lenguaje agradezco mucho la ayuda

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 623 visitas
  11. Started by giomemo,

    Buen dia. Tengo un dilema como se pueden ejecutar tres macros en una sola hoja y si es posible anexo detalles de los codigos Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column <> 1 Then Exit Sub Select Case UCase(Target.Text) Case "SEP" MsgBox "Solo se aceptan profesores de base" Case "STEN 41" MsgBox "Dato incorrecto" 'Aqui puedes añadir tantos casos como quieras End Select End Sub Dim X As Variant Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo neo If Intersect(Target, Range("E7:F454")) Is Nothing Or Target.Value = "OTROS" Then Exit Sub If Intersect(Target, Range("E7:F454")) Is Nothing Or Target.Value = …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
  12. Buenas tardes, soy una persona nueva en este tema, y quisiera que me hagan el favor de darme una solución: Cuando tengo un (textbox o combobox) de carácter numérico y luego deseo hacer una función que dependa de los números almacenados (textbox o combobox), como puedo dar una variable a estos? para que luego el resultado me lo muestre en un textbox?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 545 visitas
  13. Started by CHICK,

    Hola a todos, antes que nada quiero aclarar que tiene poco tiempo que inicie en esto de las macros, pero actualmente eh creado un par de funciones para mi trabajo, sin embargo me gustaría saber si es posible agregar la leyenda que aparece debajo de los argumentos de la función al momento de utilizarla, ya había leído antes que es posible hacerlo con FunCustomize, sin embargo no tengo idea de como se utiliza, espero que alguien me pueda ayudar, de antemano muchas gracias. [ATTACH]40319.vB[/ATTACH]

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 819 visitas
  14. Hola alquien me puede ayudar para crear una macro que seleccione solamente la región a la cual ya tiene un autofiltro?

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 818 visitas
    • 1 seguidor
  15. Amigos del foro, recurro a uds. para solicitar su valiosa ayuda con el siguiente problema que tengo con un programa con macros, éste lo realicé en office 2013. Ya que antes de enviar ésta consulta, busqué dentro del foro posibles soluciones, pero no he podido dar con alguna solución. Resulta que éste corre sin dificultades en diferentes laptops, pero no así en otras, siendo que es el mismo programa; el mensaje que sale en esos equipos en dónde no corre es el siguiente: RUN TIME ERROR 1004 METHOD VISIBLE OF OBJECT WORKSHEET FAILED; éste error sale antes de que aparezca un userform para ingresar un código de ingreso para que abra por completo el programa. En 2 de esas lap…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 693 visitas
  16. Started by lsmaniahotmail.com,

    Hola , muy buen dia para todo .tengo una consulta que no se como resolver Private Sub BotValidar_Click() Dim usuario As String Dim Pass As Variant Dim HojaVisible As String Dim UsuarioExistente Dim DatoEncontrado Dim Rango As Range UsuarioExistente = application.WorksheetFunction.CountIf(Sheets("Auxiliar").Range("O:O"), Me.TxtUsuario.Value) Set Rango = Sheets("Auxiliar").Range("B:B") If Me.TxtUsuario.Value = "" Or Me.TxtPass.Value = 0 Then MsgBox " Por favor introduce usuario y contrasenia", vbExclamation Me.TxtUsuario.SetFocus 'se valida que el usuario exista en la tabla ElseIf UsuarioExistente = 0 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  17. Started by pinoji,

    Buenas Tardes Foristas. Una vez más acá. tengo una pequeña duda y me gustaría que ustedes me ayuden . Quiero sumar dos o más TextBox y que el resultado me lo ponga en un Label en tiempo real. Necesito el código. Una amistad me dio este, y aunque no me pareció lo implementé y no suma. Private Sub LblImporte_Change () LblImporte.Caption = Val(TxtCantidad.valuie) * Val(TxtPrecio.Value) End Sub Gracias de antemano. Tengan un feliz resto del día. Pino

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.1k visitas
    • 2 seguidores
  18. Hola a todos, tengo la siguiente parte de una macro y solicito su ayuda: nombre=prueba.xslx 'creo un objeto: Set XL = CreateObject("Excel.Application") XL.Visible = True 'creo un nuevo libro llamado "prueba", cierro el archivo Workbooks.Add ActiveWorkbook.SaveAs nombre, -4143 ActiveWorkbook.Close 'abro con XL el libro creado XL.Workbooks.Open "prueba.xslx" 'Selecciono la celda "a1" en el archivo prueba creado, hasta aquí no hay problema XL.Workbooks(nombre).Sheets(1).Range("a1", "a1").Select 'aqui está el problema pues al ejecutar estos comandos, estos se ejecutan en el libro desde el que corro la macro 'lo que necesito es que corran desde el nuevo libro "pr…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
  19. Hola a todos, mi nombre es A.Maurizio Mi problema es este: En una hoja de Excel que comienza desde la celda (A5) a la celda (E5), ingresé algunos elementos para obtener de un sitio web llamado "Immobiliare.it" la posibilidad de conectarse a este sitio y obtener resultados basados en mis deseos de investigación; Y hasta ahora todo bien. Ahora el problema es este: Cuando comienzo mi procedimiento y se abre el sitio correspondiente El código que puse me lleva solo las tres primeras celdas y las coloca en la página web; pero no las dos últimas formas de investigación. Podrías ayudarme a resolver este problema. Gracias Saludos desde A.Maurizio Trasl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 560 visitas
    • 1 seguidor
  20. Estimados expertos saludos, no comprendo la razón por la cual el siguiente codigo publicado en este foro me ubica los datos ingresados en el textbox en la fila 40. Cuando en realidad lo requiero en la fila 5 concretamente desde la columna C. Adjunto el codigo que incluye el problemas de hacer un numero consecutivo el primero Private Sub CommandButton1_Click() Dim Consecutivo As String 'Ingresa el valor consecutivo Dim Nombre As String Dim Telefono As String Dim Institucion As String Dim ultimafila As Double 'Busca la Ultima Fila Consecutivo = TbxNumOficio.Value Nombre = TbxDirigidoA.Value Telefono = TbxTelef.Value Correo = TbxInstitucion.Value ultimafila…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  21. Started by ULISES,

    Buenas tardes compañeros Primero que todo un saludo y buenos deseos Tengo dos macros diferentes que tienen dos Workbook_Open y no se como hacer para que funcionen correctamente ya que individual hacen su trabajo pero juntos se genera un error que no permite mostrar las demás hojas del archivo a menos que se guarde el archivo otra ves, lo cual no debería de ser ya que tiene que ser automático al abrir el archivo con las macros activadas. Este seria uno Option Explicit Const WelcomePage = "Macros" Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.EnableEvents = False With ThisWorkbook If Not .Saved Then Select Case MsgBox("De…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  22. Started by car93saul,

    Es que tengo una hoja de excel en la que e hecho una macro que trabaja todos los datos de excel y me genera en una columna las coordenadas concatenadas con comas después yo copio los datos de esa columna y en autocad ejecuto otra macro que me trabaja los datos copiados dibujando la poligonal y poniendo los puntos en cada vértice... es algo bastante repetitivo que poco a poco lo e ido automatizando.. mi pregunta es si es posible unir estas dos macros en la macro de excel y ejecutar toda la macro con un botón.... ya que autocad también trabaja con vba me imagino que es posible.. y ademas e visto aplicaciones así en la web... espero sus repuestas gracias de ante mano

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.3k visitas
  23. Started by jotaeme,

    Primero que todo un feliz año para todos .... Al declarar una matriz o arreglo en vba no conozco el tamaño de la misma ya que debo procesar una columna de una planilla para conocer el tamaño....que ademas varia mes a mes.....como defino correctamente la matriz "funcionarios" que tendra n filas y 30 columnas ??? puedo usar (despues de conocer la cantidad de funcionarios) algo como REDIM func(cantidadfunc, 30 ) ????? gracias de antemano

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.3k visitas
  24. Started by gmcompu,

    Hola amigos del foro ayudaexcel Tengo el siguiente inconveniente, como ven en el codigo, me paro en una celda, y veo si esta vacia, si no lo esta descombina la celda, y baja otra y asi hasta que este vacia la celda siguiente. Hasta ahi funciona bien, el problema es que una vez que termino quiero seleccionar todas las celdas hacia arriba que tengan algo, con: Range(Selection, Selection.End(xlUp)).Select Y solamente me marca la celda seleccionada, y la inmediatamente superior, pero no todas. EN mi ejemplo tengo datos en el rango H18:H27, con el do fui hasta la H27, y cuando intento con el código seleccionar el rango, solo me selecciona la H27 y la H28. Alguien me podrí…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 10.6k visitas
  25. hola muy buen dia a todos y feliz inicio de semana, y muchas gracias de antemano al foro y a todos los que de alguna forma me han ayudado. ya tengo mi archivo terminado con macros ya todo funcional ahora mi pregunta es la siguiente: como puedo usarlo como una plantilla ya que lo mismo que le hice al archivo es repetitivo o sea cada semana hay que hacerle lo mismo pero con diferentes datos en las filas a veces pueden ser 100 casos y a veces 500 mas o menos. saludos a todos

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.1k 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 sergio@ayudaexcel.com

Información adicional: Encontrarás más información en la política de privacidad.