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, excelentísimas personas de este magno Foro estoy recién aprendiendo a usar BVA y estoy tratando de hacer una macros que me permita hacer varios gráficos con su pestaña correspondiente, y que las pestañas queden nombradas con el valor de referencia de la celda que contiene el nombre, para esto grabé la macros realizando uno de los gráficos con el cual estoy modificando, el plan era cambiar la direccionamiento de que trae por defecto ej. "=Hoja1!$Z$1" para usar los objetos Range y celda, conseguí que reconociera el rango pero cuando profundizo con las cells me tirar error de objeto, les pido que me digan en que me estoy equivocando, para poder seguir avanzando por fa…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  2. Buenas a todos: Estoy empezando en la programación en VBA para Excel y gracias a vuestro foro, estoy aprendiendo bastantes cosillas pero me he quedado atascado con algo y no soy capaz de encontrar la solución. Estoy haciendo, a modo de ejercicio, un sencillo programa que permita al usuario introducir una matriz de dimensión variable para calcular su función inversa. La matriz se escribe desde la celda A4 en adelante y mi idea es que el programa lea el número de columnas con contenido para establecer el orden de la matriz, redimensionar los vectores y calcular la inversa. El programa es el siguiente: Option Base 1 Dim M() As Variant Dim MInv() As Variant Sub Inv…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  3. Started by Pirtrafilla,

    Hola a todos. Perdonar con este asunto, creo que debe ser una tontería, pero no logro ver el error. Con esta sentencia me da error: Worksheets("KM_iniciales").Range(Cells(1, 1), Cells(maxrow, maxcolumn)).ClearContents Y sin embargo así funciona. Worksheets("KM_iniciales").Range("A1:K" & maxrow).ClearContents Quisiera que la columna a eliminar no fuera siempre la K porque podría ser otra, por eso quiero hacerlo con cells, pero no logro que funcione. ¿Qué estoy poniendo mal? Teniendo en cuenta que busca la última fila y columna así. maxcolumn = Worksheets("KM_iniciales").Cells.SpecialCells(xlLastCell).Column maxrow = Worksheets("KM_inic…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.9k visitas
    • 1 seguidor
  4. Hola Estimados, tengo el siguiente archivo dándole vueltas, Lo que hace es seleccionar varios registros del listview por medio de check, y los imprimo en PDF. El de forma individual ya lo tengo, me imprime un pdf por cada registro que tenga seleccionado. El tema es que quiero imprimir en forma masiva, decir un solo PDF pero por todos los que tenga seleccionado, me refiero a que el PDF que va a llevar por nombre "reporte pdf" sea uno solo y que me de una hoja por cada pagina seleccionada, en este caso una hoja por region, nose si me explico. Se que el código esta casi pero el bucle mes esta comiendo, hay algo que me falta para que funcione. Busqué …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  5. Hola a todos y gracias por vuestra ayuda de antemano. Me he encontrado con un problema que no sé muy bien como resolver, espero que alguien me pueda hechar una mano, porque ya le he dado mil vueltas y estoy atascado, la verdad. Gracias. Sub buscar() 'Caso 1, compara fila por fila en el rango C1:C100 'Si en una fila encuentra el valor 1 y además el CheckBox1 está marcado escribe ok en F1 'Pero esta condición solo se ejecuta si el CheckBox1 está activado 'Si quiero recorrer todo el rango y escribir ok en cada acierto: 'Worksheets("Hoja1").Range("f" & i).Value = "ok" Dim i As Integer For i = 1 To 100 If Worksheets("Hoja1").Range("c…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.9k visitas
  6. Started by fabepretto,

    Buenas, soy nuevo en el foro. Quería saber si podrían ayudarme con un problema que tengo y no encuentro la forma para resolverlo. No tengo muchos conocimientos en VBA, asi que espero que me puedan ayudar. Voy a tratar de explicar lo mejor posible lo que busco. Lo que quiero concretamente es que cuando el usuario ingrese un valor en la columna "Cantidad de vagones no descargados", automáticamente se agregue una fila abajo del último registro de la planilla, en la que se copien todos los datos ingresados hasta el momento (de la fila en la cual se había ingresado el numero de vagones no descargados). Adjunto archivo con ejemplo. Agradezco de antemano su ayuda Planilla.xl…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  7. Started by Felipe Torres,

    Estimados quien sabe como puedo acelerar el procedimiento para guardar registros, ya que el archivo adjunto realiza lo que quiero con pocos registros, pero si coloco mas registros en la hoja, se me queda pegado el excel y se demora en guardar, como a las 3 o 4 minutos para terminar el procedimiento. ¿Hay algún proc mas efectivo? La idea es llevar los registros visualizados en la hoja excel a una tabla de una base de datos SQLite. Libro1.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.9k visitas
  8. Lo que necesito es identificar con la hora de entrada la jornada que debe laborar el trabajador ya sea matutina, vespertina o nocturna. De acuerdo a la jornada matutina es de 9 horas hasta antes de las 12:00 hrs., la vespertina es de 8.5 horas después de las 12:00 hrs. y hasta antes de las 15:30 hrs. y la nocturna es de 8 horas después de las 22:00 hrs. y hasta antes de las 6:30 hrs. Necesito programar (sin macros) la hora de salida al ingresar sólo la hora de entrada, que me identifique que jornada es para que me coloque la hora de salida del trabajador. Intente con una función lógica pero no me reconoce la comparación entre horas. Si alguien puede ayudarme …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  9. Hola buenas tardes! Intentaré expresar mi problema... Tengo una base de datos de dos registros en una hoja de excel llamada "DBMain" En otra hoja "Diseño" tengo un formato que se llena con los datos contenidos en "DBMain". Ahora bien deseo que suceda lo siguiente: 1. Se llena el formulario con el primer registro 2. Se manda a impresión previa 3. Se vuelve a llenar el formulario con el segundo registro 4. Se manda a impresión previa 5. Al término de los registros se debe mostrar al usuario una vista previa de los archivos a imprimir (los dos formularios) Pregunta adicional: ¿Es posible hacer esto en excel apoyándome en VBA?

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  10. Hola. Tengo el siguiente problema. Tengo una macro que abre un formulario y me permite elegir distintas impresoras para imprimir una hoja. Hasta ahí todo bien. El tema es que cuando elijo la impresora XXX Excel queda en la impresión rápida (el icono que está en el menú de arriba) con esa impresora y no con la que Windows tiene determinada. Esto queda aún si abro un nuevo libro. Lo que yo quiero es que de alguna forma la macro haga que la impresora rápida o impresora por defecto de excel vuelva a hacer la predeterminada por Windows que a su vez es una de las impresoras de la lista que tengo para elegir. He probado con el siguiente código al final de la macro pero no func…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  11. Started by idaira,

    *Hola chicos,a ver si me podeis ayudar a realizar una macro para copiar los datos de una hoja llamada diario a la otra llamada mayor. se como es el codigo de una macro para seleccionar y copiar pero el problema es que es con rangos variables pues en el boton que existe en la hoja diario añade nuevas filas para nuevos asientos y ahora mismo no se me ocurre como hacer lo mencionado en el punto anterior. otra cosa las columnas a copiar seria la del nº de asientos,subcuenta,concepto,debe y haber a ser posible. adjunto el archivo que seguro lo entenderan mejor. muchas gracias y perdonen las molestias;) plantilla contabilidad.zip

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
  12. Buenas tardes amigos, un gusto saludarlos de nuevo! Fíjense que ahorita estoy trabajando con una hoja de excel donde necesito copiar uno o varios criterios y pasarlos en otra hoja, para no utilizar el autofiltro de excel y no copiar por partes, se me ocurrio realizar esos filtros desde un Listbox, a continuación explico. 1. Para empezar necesito que en la columna G de la hoja 1, cargue en listbox los datos pero que no se repitan (Folios únicos) y despues (Cabe mencionar que los datos de esa hoja son variables, pueden ser 1 o hasta 10,000 registros). 2. que me de la opción de seleccionar cual quiero copiar y pasar en la hoja de resultados (Tipo multiselect).…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
    • 1 seguidor
  13. Started by noise56,

    Hola amigos, muy buenas tardes. Excel 2003 – SP3 El maestro Macro-Antonio, me ayudó hace algunos días a solucionar un problema que tenía, y para ello, me creó este código que me funciona de maravillas. Private Sub CMBPorcentaje_Click() On Error Resume Next pct = InputBox("Introduce el %", , 0) For Each celda In Selection celda.Value = Round(celda.Value * (1 + pct / 100), 2) Next End Sub[/CODE] Como se puede comprobar, este código lo que hace es sumar un tanto por ciento optativo a las celdas seleccionadas. Bien, ahora me he dado cuenta de un detalle, es necesario que ese tanto por ciento se muestre. Con esto, conseguimos saber qué cantidades han sido i…

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 1.9k visitas
  14. Started by Víctor Pérez,

    Buenas, Estoy intentando realizar un macros que me lea los registros que cumplan una condición y me los pegue en otra hoja en la celda que le marco. He probado con esta macro, pero no me lo hace correcto me da error Sub Copiar_datos()

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.9k visitas
  15. Hola a todos, consulta como puedo hacer para que esta macro me guarde varios archivos en PDF Sub Macro1() Dim nombre As String nombre = Range("d12").Value Range("A5:W51").Select ChDir "C:\INFORMES" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\INFORMES\" & nombre & ".PDF", Quality:=xlQualityStandard, IncludeDocProperties:=True _ , IgnorePrintAreas:=False, OpenAfterPublish:=False End Sub

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  16. Started by diamonofthephonix,

    Hola, que tal! Estoy creando una especie de nota de remicion que utilizaran 6 compañeros a cada uno se le asignara una secuencia de folios unicos de 1000 en 1000 la cosa es que soy nuevo en esto de exel y quisiera ver si me pueden hechar la mano a crear un macro para generar secuencialmente los folios que tome el ultimo usado y le sume 1 para asignar uno nuevo y que cuando se llene la nota se guarde en una carpeta para llevar un control y registro de los mismos espero de verdad me puedan ayudar ejemplo.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  17. Started by cvwm67,

    Buenos Días. Me gustaría muchísimo que me pudiesen ayudar. Estoy realizando, se puede decir programa, que agregue compras, que reste inventarios a su vez de que pueda registrar actividades y que registre reservas de inventario donde no se si pueda conectar, de que a cada día que pase, se resten los días y si pasan 7 días, la cantidad se devuelva al inventario. Está ultima parte no es tan importante como a que si reste los inventarios. Para la parte de registrar actividades lo he podido lograr, pero para la parte de restar inventarios y que con cada vez que yo ingrese una nueva cantidad, el automáticamente se reste de la cantidad que había anteriormente. Ejemplo (había…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 1.9k visitas
  18. Started by LucasFar,

    Hola, mi caso es lo siguiente, tengo en excel un mini sistema por llamarlo asi que consta de 18 formularios que guardan datos en la hoja de Excel, Guardan, Buscan, Actualizan datos y asi, pero ahora necesito usar SQL Server 2008 para mi base de datos, se puede hacer eso? que me guarde directamente a SQL Server 2008 los datos que ingrese y pueda hacer consultas desde los formularios a dicha base de datos???uso Excel 2010.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.9k visitas
  19. Buenas, desde Gijón-Asturias-Spain, Disculpad si el tema ya ha sido resuelto, hay tanta información que me resulta imposible localizarlo. Es posible proteger un libro para que en una fecha determinada excel pida introducir contraseña? Saludos Lobato

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
    • 1 seguidor
  20. Started by jesuspg,

    Hola amigos del foro, Estoy ejecutando esta macro, y continuamente me muestra 'Error definido por la aplicación o el objeto': Sub ProtegerHoja() Dim fila As Long fila = Sheets("Hoja1").Range("A1048576").End(xlUp).Row Dim contraseña As String contraseña = "abcd" With ActiveSheet .Protection.AllowEditRanges.Add Title:="Rango1", _ Range:=Range("A3:H" & fila), _ Password:=contraseña .Protect Password:=contraseña, _ DrawingObjects:=True, _ Contents:=True .EnableSelection = xlNoRestrictions End With End Sub No sé dónde …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.9k visitas
  21. Hola a todos, Necesito ayuda con una macro para buscar un texto y que me devuelva un valor. Os cuento, en la hoja 1 tengo una tabla en las celdas de la columna B se selecciona mediante una lista el tipo de alimentación y en la columna C tiene que aparecer el valor que le corresponde al tipo de alimentación. En la hoja 2 tengo la tabla con los tipos de alimentación y el valor que me tiene que devolver es la Uadm en la hoja1. Gracias por vuestra ayuda. Buscar.xlsx

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
    • 2 seguidores
  22. Started by misanme,

    Buenas tardes a todos. En primer lugar dar la enhorabuena por este foro que, sin duda alguna, nos es de muchísima utilidad y que en más de en una ocasión nos ha sacado de un buen aprieto... Os planteo lo que quiero hacer. Para ello os adjunto un archivo .zip de ejemplo para que la ayuda y mi explicación sea mucho más fácil. En dicho fichero podréis ver varios archivos excel y carpetas. En primer lugar, tenemos los archivos "USUARIOS" Y "TRABAJADORES" que sirven como base de datos para dar una referencia a cada usuario y trabajador. Por otro lado, está la carpeta "SEMANAS" en la que incluyo un fichero excel por cada trabajador que es el cuadrante mensual de cada uno de e…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  23. formulario con combox buenos días, podríais ayudarme en la hoja que os envío?, Tengo un formulario en la primera hoja para se introducir datos y se añadan automaticamente en las hojas enero, febrero,...... hasta diciembre. He intentado con varios códigos vba que he visto en el foro, pero no hay manera.. gracias, control gastos y presupuesto anual.rar control gastos y presupuesto anual.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  24. Buenas a todos amigos, De nuevo por aquí y como siempre para dar dolores de cabeza jejeje. Os cuento el asunto. Estoy intentando realizar una macro que me cree una conexión con datos externos web para así importar unas tablas, hasta ahí no hay muchos problemas. La problemática es la siguiente, necesito pasarle a la web de donde obtengo los datos una fecha, para que se modifique un control de fecha que hay en la dirección web y así poder obtener los datos de las tablas correspondientes a esa fecha. Además, por si no fuera poco, he de conseguir también de algún modo que seleccione cierto valor de un control de lista desplegable de dicha página. Por ejemplo, si deseo obt…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.9k visitas
  25. Started by karra,

    Buenas, hace tiempo me encontre navegando por este foro documento en excel que traia muchos ejemplos de codigos para programar en vba, por ejemplo tenia botones como FOR, que te indicaban como es la sintaxis de este bucle, o if,, era mas que nada un ayudante para la sintaxis de uso habitual A ver si alguien sabe de lo que hablo y me puede indicar de donde descargarlo Saludos

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k 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.