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

    Hola amigos. por favor escribo para pedir su ayuda,creo que es fácil sin embargo estoy trancado en esto: quiero seleccionar un rango variable. es decir en una tabla seleccionar un rango que considere dos cosas: la ultima fila con datos y que en el caso de la columna esta también sea la primera vacia y que empiece justo debajo del encabezado. Es resultado de una Tabla dinamica lo pego en otra hoja para adicionarle algunos datos a esta tabla ,en la columna que esta vacia. como ustedes comprenderán esta tabla no siempre tendar determinado rango, es variable. por favor adunto al presente el libro y esta explicado en la hoja"reporte". gracias Seleccion_rango.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  2. Started by merlow,

    Estimados.. Buenas Tardes.. En esta oportunidad les pido ayuda para tratar de hacer lo siguiente: En el modulo de VBA, hay formulas que evaluan valores y se copian en las celdas correspondientes; para lo cual utilizo el objeto FormulaLocal y este es justamente el problema... este archivo que va a ser abierto desde diferentes terminales, con diferentes versiones de Excel.. (ingles, español y frances). Por lo que este archivo solo funciona en la PC en la cual lo estoy armando y no en todas las versiones. Estuve leyendo por ahi, y dicen que la notacion R1C1 es la ideal para este tipo de cosas, ya que es indistinto en que Pc se abra el archivo y el idioma que tenga la m…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 10.6k visitas
  3. Macro VBA seleccionar rangos de celdas de una columna hos pongo este ejemplo: Range("A3,A6,A9,A12,A15,A18,A21,A24,A27,A30,A33,A36,A39,A42,A45,A48").Select ----->pues asi hasta la 3000 como lo toy haciendo me puedo morir hasta llegar hasta la 3000, asi que igual hay algo para que valla sumando 3 o nose saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 684 visitas
  4. Tengo mi aplicación la cual se llama " Mantenimiento Personal e Insumos " lo que deseo hacer es Agregar - Modificar - Eliminar Me parece que el Agregar y el Eliminar ya están okey, pero el modificar es el que me falta, lo que deseo es que al seleccionar un ítem del Listbox y enseguida darle clic al Botón Modificar, me jale los registros seleccionados para su modificación pero no me esta saliendo, alguien me podría dar una mano por favor y si tuviesen alguna observación a la aplicación hagan mela saber por favor que soy nuevo programando. De antemano muchas gracias por el tiempo dado : PD. dejo link del excel ya que a la hora de subirlo por aqui me dice que el archivo pe…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 967 visitas
  5. Necesito, que me ayuden con un problema que poseo, tengo un dato en una CELDA, dicha información necesito que se seleccione automáticamente en la Segmentación de Datos, he buscado como hacerlo pero no hay mucha información, al respecto. Por favor si tienen alguna idea les agradecería.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.6k visitas
  6. 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
    • 612 visitas
  7. Hola, me gustaría saber como es el comando de VBA para seleccionar todas las celdas de una hoja que contengan una palabra concreta. Lo necesito con VBA para luego enlazarlo con otra cosa. Sé hacerlo con la funcionalidad de Buscar; Buscar todas. Gracias.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 650 visitas
    • 2 seguidores
  8. hola amigos les queria pedir una ayuda, nose si es que se pueda, pero queria un ciclo for que vaya desde 1 hasta el numero de tablas dinamicas que tenga, y que en cada recorrido me seleccione la tabla dinamica 1 hasta la n, que seria el total de tablas y me aplique un cambio que seria el de hacer que no guarde los datos eliminados en origen,. bueno para que esto funcione tiene que existir algun numero de indexacion para las tablas dinamicas, lo qeu no sesi exista o no, me imagino qeu si pues si se pued con las hojas, me ayudan con el codigo? aqui dejo mi idea pero necesito las instrucciones: n = total de tablas dinamicas ' en el caso de que se pueda for i 1 to n …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.1k visitas
  9. Started by kloxtnx,

    Buenas tardes, de abte manos muchas gracias a la comunidad por la ayuda quisiera seleccionar la ultima celda con datos y copiarla para posteriormente pegarla en una hoja nueva, este es mi codigo Sub Copiar_Valores_Contabilidad() Sheets("Extraer_Rutas").Select For i = 2 To Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A" & i).Select Selection.Copy Next Sheets("Rutas_Fs").Select ActiveSheet.Range("A2").Select ActiveSheet.Paste End Sub …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 395 visitas
  10. Hola, estoy iniciandome en el tema de vba y tal, asi que intentaré explicarme lo mejor posible Tengo un boton de comando que me abre un "userform", dentro de ese "userform" hay 2 combobox y varios "label". En el "combobox1" se me abre un listado desplegable donde me aparecen los valores "azul, verde,amarillo,rojo... etc" y el "combobox2" abre un listado con los valores que van del 1 al 100, y ahora viene el problema... yo quiero que dependiendo del valor del "combobox1", me muestre SOLO parte de ese listado de valores del 1 al 100. Es decir, al seleccionar en el "combobox1" el valor "azul" quiero que SOLO me muestre los valores del 21 al 30, si selec…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 764 visitas
    • 1 seguidor
  11. hola resulta que con este codigo se crea una tabla dinamica en macros Sub PivotTable() Dim PTCache As PivotCache Dim PT As PivotTable Set PTCache = ActiveWorkbook.PivotCaches.Create _ (SourceType:=xlDatabase, SourceData:=Range("A1").CurrentRegion) Set PT = ActiveSheet.PivotTables.Add(PivotCache:=PTCache, _ TableDestination:=Range("F1"), TableName:="Ventas") With PT .PivotFields("Zona").Orientation = xlPageField .PivotFields("Mes").Orientation = xlColumnField .PivotFields("Nombre").Orientation = xlRowField .PivotFields("Ventas").Orientation = xlDataField .DisplayFieldCaptions = False End With End Sub [/CODE] y en mi excel cree u…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 547 visitas
  12. Buenas, estoy tratando de automatizar un carro de compras para armarlo con macro, hasta el momento puedo abrir una web, seleccionar algún item por posición en el codigo fuente y agregarlo al carro, se que voy bien encaminado, Sub test() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") With IE .Top = 0 .Left = 0 .height = 1000 .Width = 1050 .Visible = True .Navigate "https://store.channelfireball.com/catalog/magic_singles-saga_block-urzas_saga/duress/17412" Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop .Document.getElementsByClassName("add-to-cart-form")…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 994 visitas
  13. Buenas tardes, Tengo el siguiente problema, y no sé cómo afrontarlo: Me gustaría almacenar en una variable objeto de tipo Range todas aquellas celdas de la misma columna que coincidan con el mismo nombre de la ciudad. Por ejemplo, quiero almacenar dentro de una variable range todos las celdas de la columna ciudad que contengan el nombre ALMERIA, en este ejemplo sería RANGE(B2:B3). Dim rango as Range Set rango = RANGE(B2:B3) En el siguiente ejemplo, sería con CADIZ... rango = RANGE(B4:B7) Y así sucesivamente hasta llegar al final de la tabla. Tengamos en cuenta que los datos están ordenados, de no ser así sería más complicado...…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 746 visitas
    • 1 seguidor
  14. Saludos: Tengo una tabla ya definida con un rango de B9:I250. No importa si usas las primeras 10 o las utilizas todas siempre es el mismo rango. Yo tengo un macro VBA donde primero sorteo en una columna en particular y en orden ascendente con el propósito de colocar todas la información en orden y evitar que hayan espacios en la tabla. Luego de sortear, identifico la ultima celda escrita y borro cierta información que pueda haber en otras columnas. Por ejemplo siempre termino sorteando la columna B, si en la celda X de la columna B no hay nada escrito entonces puedo borrar la información que haya en las columnas C,D, H. Sim embargo esto lo logro utilizando la función…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 845 visitas
  15. Started by Jechegaray,

    Buenas, tengo una duda de si se puede hacer o no con un listbox. Quisiera seleccionar un celda de un listbox dandole click para poder editarlo. Lo único que consigo seleccionar es la fila pero no una columna en concreto

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 900 visitas
    • 2 seguidores
  16. Started by erpunta,

    Buenas tardes Necesito una fórmula mediante vba, que seleccione una celda determinada dentro de un rango de celdas, cumpliendo una condición. Dicha condición es que el valor de que una de las celdas, cualquiera de ellas, sea inferior a 6 y siempre que otra celda, fuera del rango sea distinto de 0. Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 656 visitas
  17. Hola amigos necesito ayuda con un archivo me super urge. Tengo un archivo con una base de datos y en el cual se van llenando y ordenando por fechas, al momento que se termina de llenar los datos de la fila que sigue despues de la ultima que se dio de alta. Se da clic en el boton que tiene una macro que se posiciona en la celda C1 y de ahi baja hasta el ultimo registro y selecciona toda la fila completa y de ahi la copia en un correo nuevo de Outlook y lo manda al destinatario del correo que ponemos en el codigo de la macro, es aqui donde necesito ayuda, ya que quiero que en ese mismo codigo en lugar de seleccionarme solo el ultimo registro que primero me seleccione la pr…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  18. Hola a todos; Rehago de nuevo la consulta de ayer, a ver si es más fácil. En el formulario he puesto dos listBox que alimento con registros usando los botones Examinar y Examinar2 Una vez cargados los registros, ¿se puede crear un procedimiento para que nos indique los items que no se repiten en ambos listbox?, usando para ello el botón "Buscar <>". Adjunto imagen de ejemplo Una vez detectados deben quedar seleccionados. Los listBox tienen establecida la propiedad Multiselect. Imagino que tendrá que ser con algún tipo de bucle y comparar pero me pierdo un poco. Saludos. MDir.xlsm

    • 0

      Reacciones de usuarios

    • 17 respuestas
    • 990 visitas
    • 1 seguidor
  19. Saludos estimados masters, deseo ayuda para cuando esten abiertos varios archivos y todos contienen una hoja llamada SEG luego de abrirlos mediante alguna instruccion o macro se seleccione la Hoja SEG Gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 687 visitas
  20. Started by sretamalb,

    buenas tardes, Estoy haciendo una macro la cual necesito seleccionar varias combinaciones de checkbox pero me gustaría si existe algún código que pueda resumir el código ya que son muchas combinaciones. El archivo consta de 2 grupos de checkbox: Grupo1: 8 checkbox (que se pueden eligir todas las combinaciones, es decir, todos o solo 1, o 2 o 7, etc) Grupo2: 4 checkbox (Se debe elegir solamente 1 de los 4). Por tanto existen muchas combinaciones, por ejemplo: - 1 checkbox del grupo 1 con el checkbox1 del grupo 2 - 1 checkbox del grupo 1 con el checkbox2 del grupo 2 - 8 checkbox del grupo 1 con el checkbox1 del grupo 2 - 5 check…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.3k visitas
    • 1 seguidor
  21. Buenas tardes tengan todos ustedes, sin encontrar una solución a mi problema hoy acudo a su apoyo. Tengo el siguiente código que me ayuda a seleccionar varios elementos de una lista desplegable: Private Sub Worksheet_Change(ByVal Target As Range) Dim I As Integer Dim xRgVal As Range Dim xStrNew As String Dim xStrOld As String Dim xFlag As Boolean Dim xArr Select Case Target.Column Case 7 On Error Resume Next Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation) If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub If Intersect(Target, xRgVal) Is Nothing Then Exit Sub Application.EnableEvents = False xFla…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  22. Buenas Necesitaría a partir de un desplegable que debe repetirse en una columna a lo largo de varias filas, poder seleccionar varios elementos que queden separados por comas. He encontrado una forma de hacerlo añadiendo este código al excel, pero necesitaría modificarlo para: 1. Que me permita borrar los valores si me equivoco 2. Que me permita arrastrar a lo largo de las filas, y que lo que arrastre sea el desplegable y no los valores seleccionados en la fila anterior. A ver si me podeis ayudar Gracias! Este es el código: Private Sub Worksheet_Change(ByVal Target As Range) 'UpdatebyExtendoffice20180510 Dim xRgVal As Range Dim …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.8k visitas
  23. Hola cumpas de nuevo, estoy bloqueada ante un paso en mi archivo en la hoja RazonSocial, cargue un cuadro de lista en funcion de los clientes que tengo de ejemplo, no encuentro la forma de hacer que al seleccionar alguno o varios de ellos me los carge en mi rango G14:Nx... En un userform seria un listobox pero queria ver la forma de no usar en este proyecto un userform sino directamente los controles de excel. el otro punto que tampoco encontre es lograr que el texto que escriba en la celda combinada RazonSocial.Range("C13:E14"), me filtre por coindicidencias similares los datos que me carga en el cuadro de lista de abajo... la verdad que no est…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 585 visitas
  24. Seleccionar entre dos productos iguales el de mayor fecha la idea es la siguiente al seleccionar el producto en el macro me tome el precio del producto con la fecha mas actual osea el precio actualizado Sub detecta_producto() If CmBProductos.Value <> Empty Then Call calcula_importe Else End If End Sub Sub calcula_importe() If txtCantidad.Value = Empty Or cmbClave.Value = Empty Then Else Importefi.Text = CCur(txtPrecio.Text) * CCur(txtCantidad.Text) End If End Sub Sub busca_art_precio() Private Sub cmbClave_Change() If Me.cmbClave.Value = "" Then Exit Sub Dim sUltimaCelda As String Me.txtDescripcion.Text = "" Me.txtPrecio.Text = "" If…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 861 visitas
  25. Started by POPO,

    Hola amigos, tiempo atrás solicite ayuda para una macro la que me permitiera imprimir archivos por lotes específicamente pdf, bueno me enviaron una macro estupenda y debo modificar un aspecto de esa macro, este programa consiste en elegir la ruta donde están los archivos a imprimir y los muestra en pantalla con checkbox uno por cada archivo, el usuario debe ir marcando cuales necesita imprimir, esto es lo que necesito modificar que haya una opción que permita marcarlos todos al mismo tiempo.

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 920 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.