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. Hello, My Friends:I have a workbook with several sheets, some of which are going to be printed at once, eighther to a .pdf file or to a paper. Doing so, there are several dialogs that are shown, for example: Dialog PrinterSetup to choose the printer.Dialog Save PDF file as, in the case of a .pdf, to choose where to save the document.Dialog Confirm Save to confirm the operation, of course.Dialog Adobe PDF that shows the addition of sheets to the final document.I am not sure, but only the first one is really an Application.Dialogs, the others are not, at least they do not appear in the VBA list as one.All of the dialogs have a "Cancel" button, to cancel the printing. My cod…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.1k visitas
  2. Buen dia compañeros, tengo un problema con una macro que estoy elaborando en un combobox me lista las ciudades que tengo, pero donde ya me atore es donde requiero que dependiendo la ciudad que elija del combobox me abra un userform diferente pero me termina abriendo el mismo espero puedan ayudarme adjunto mi ejemplo ejemplo ciudades.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.3k visitas
    • 1 seguidor
  3. Started by p30691,

    Buenas tardes. Estoy comenzando a aprender de macros en excel, pero me he atascado en esto tan simple que os envío. Se trata de ordenar en otra hoja todas las cuentas de varios propietarios por propietarios, creo que está claro en el ejemplo que os envío. Sé hacerlo con fórmulas, pero sobrecarga excesivamente mi ordenador. Naturalmente estos son solo algunos datos imaginarios y como ejemplo, en la realidad, son varios cientos los que los componen, por lo que un bucle for next aparece como interminable. Dandoos las gracias anticipadas, recibid un cordial saludo: Antonio PREGUNTA.xls

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 755 visitas
  4. Started by artmandu,

    Hola un placer saludarlos de nuevo a todos Antes que nada ofrezco una disculpa por postear este tema aquí pero no encontré en que foro colocar esta pregunta, quise hacerlo en el foro de otras aplicaciones de office pues necesito una pequeña orientación con macros en word, pero al parecer el foro esta cerrado, si alguien me puede ayudar o conozcan de algún foro donde me puedan orientar les agradecería mucho su respuesta Estoy trabajando con imágenes en word y necesito convertirlas de Inline a flotantes pero no encuentro como hacerlo he probado muchos códigos y comandos y no lo consigo se trata solo de seleccionar una imagen con el mouse y correr la macro y …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.5k visitas
  5. Started by esunpez,

    Hola como les va; Estoy generando una orden de producción para mi trabajo. He realizado de manera arcaica una código que me permite guardar los datos de la orden a una base de datos con un contador, mismo que ligue para llevar un folio consecutivo para después poder generar un reporte de ventas en una tabla dinamica. Sin embargo cuando quise hacer el guardado de la columna A10, A11, A12 etc... encontré la dificultad para poder guardar los datos y considero me pasará lo mismo con las otras columnas, ya que se sobreescriben los datos. Alguien que me pudiera ayudar en resolver este asunto o darme alguna otra idea de como generar el formulario. Anexo mues…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.2k visitas
  6. Started by lursaildi,

    Gracias a Macro Antonio que me creo una macro, quisiera seguir evolucionándola pero mis conocimientos de macros es muy pobre, quisiera mejorarla que la celda que está cortada diagonalmente vuelva a su estado sin borro la celda donde pone Din_Astm y si lo pone que el 50 lo coloque según el ejemplo y si pone cualquier dato diferente la celda de referencia sea ASTM, DIN, API el dato que ponga este centrado a la celda como el ejemplo y en la celda de la columna R también la corte diagonalmente como el ejemplo. Si pone API_ASTM corte diagonalmente la celda de la columna P y si borro los datos de API_ASTM deje la celda en estado original. …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1k visitas
  7. Tengo esta pequeña macro con el fin de incrementar o disminuir el precio de varios artículos en una lista de precios a partir de un valor porcentual, donde B70 es la celda en la cual se especifica el valor a aplicar, en formato de porcentaje, sin embargo solo he logrado que se ejecute en una única fila de la columna B, ¿cómo puedo hacer que continue sucesivamente hasta un rango determinado? En mi caso seria (B2:B65) rango que contiene todos los precios que desearía incrementar o disminuir. 'Disminuir el valor de la celda. Sub Macro_Bajar_Valor() Range("B2") = Range("B2") / (1 + Range("B70")) End Sub 'Aumentar el valor de la celda. Sub Mac…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.3k visitas
  8. Buenas noches: En mi celda I1 tengo la siguente función =SI.ERROR(('[Cuentas por Cobrar.xlsm]TKT'!$S$2)|"NEGATIVO") Por favor como seria que antes de ejecutar mi macro1 desde mi boton, el cual lo tengo en la misma hoja, revise si la celda mencionada tiene el texto NEGATIVO no ejecute mi macro? Gracias y saludos cordiales Jesús

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 635 visitas
  9. Buenas: He creado un excel con macros (ocultas) que tiene que utilizar otra persona y le da "Error de compilación en el módulo oculto: Ahorros". He investigado y parece que el problema es que mi sistema es de 64 bits y el suyo de 32, como puedo solucionarlo? Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.2k visitas
    • 1 seguidor
  10. Started by marroco312,

    hola amigos de excel tengo una inquietud, he diseñado un menú estándar en la una hoja que la denomine menú, esta desde el rango A1:M40, confomarda por 15 botones, dos imagenes y texto, me gustaria saber como hago para que la hoja de menu se adapte a cualquier pantalla de pc ya que se sabe que todas las pantallas no son iguales saludos, espero me puedan colaborar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2k visitas
  11. Saludos amigos del foro, ahora me he puesto a pensar que puede simplificarse un código que uso para borrar el contenido de ciertas columnas. Si en el texbox1 coloco el 5 se borra todo el contenido de esa columna, en el rango indicado. Pero me parece que todo ese código es muy largo. Tengo 20 columnas en cada uno lleva informacion que en cierto tiempo puedo decidir borrar todo el contenido de una de las columnas. Expongo el código para saber si es posible encontrar un código mas corto que haga los mismo. Pro ejemplo veo que el mensaje puede ser solo 1 y cada vez lo que cambia es el numero de columna igualmente ocurre cuando se decide cancelar el borrado, y así p…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.3k visitas
  12. si bien existen modelos, pero no llego acondicionarlo a ,is archivos tengo mi archivo "Formato Factura Lukoll 2016.xlsm" origen del cual quiero copiar el detalle de mi factura en otro archivo ("Formato_Resumen_2016.xlsx") ejecuto una macro pero no llega a copiar, marca el origen, pone en memoria, abre el archivo destino,pero no llega a pegar la información. lo que deseo es: pasar siempre un mismo rango de mi archivo origen (Range("A25:Z40")) al archivo destino pero al final o insertando espacios al inicio de mi archivo destino; y la copia debe ser tantas veces como genere una nueva factura desde ya les agradezco la ayuda Gracias Neil Lopez …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
  13. Started by lursaildi,

    Quisiera hacer una macro que me cortase una celda diagonal cuando en una celda determinada ponga astm_din y ponga 50 en una parte del corte como en el ejemplo,como lo puedo conseguir ejemplo1.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 699 visitas
  14. En mi hoja menu tengo un listado, lo que necesito es que al ubicarme en la fila de cualquier dato de la columna C, mediante macro, copiar el dato de la columna B de la celda activa de la columna C (donde estoy ubicado) copie y pegue el valor de dicha celda a la celda F1. Desde ya muchas gracias por su tiempo Jesús

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.9k visitas
  15. Buenas tardes: Trabajo con varias hojas donde cada una tiene nombre y una hoja menu donde esta una lista de todos de nombres de las hojas de calculo, con este código : Sub Ir_a_kardex_tkt() ActiveWorkbook.Sheets(Range("s2").Value).Activate Range("A1").Select End Sub Voy a la hoja correspondiente, pero según el valor de la celda S2, como puedo hacer para que a cualquier celda que seleccione vaya a la hoja correspondiente?? Gracias y saludos cordiales Jesús

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 953 visitas
  16. Hola!! Conformo que soy nueva en esto de macros. He hecho un formulario investigando aqui y alla, el cual agrega y modifica datos y los almacena en otra hoja del mismo libro. Hasta ahi mi formulario funciona como lo deseo, pero al querer modificar o agregar un dato faltante aun registrom quiero que la celda anterior a la celda a la cual agrego el nuevo dato, cambie el color de fondo. Investigando di con el evento worksheet_change(ByVal Target As range) el caso es que si hace el cambio de color de fondo, pero no queda permanente. Dejo el codigo que use y les suplico ayuda rivate Sub Worksheet_Change(ByVal Target As Range) …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 586 visitas
  17. Started by verito_21m,

    Hola, buenos días!! ¿Es posible realizar un filtro avanzado utilizando como criterio el color de la celda? Agradezco respuesta! Saludos Verónica FiltroAvanzadoporcolor (1).zip

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 5.9k visitas
  18. Started by isauma,

    Buenas: Necesito un botón para imprimir un formulario. Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 10k visitas
    • 1 seguidor
  19. Estimados, En lo posible necesito que me guien en como seguir con una macro donde quiero colocar una suma en la fila correspondiente a un articulo y a la culumna que corresponda el mes actual. Columa A Columna B Columna C Columna D ID Articulo Abr-16 May-16 1 Pinzas 1 2 Una parte esta hecha que va agregando columna en caso que el mes actual no corresponda o en caso contrario realice la suma del articulo pero no logro colocar la suma en la columna del mes…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 738 visitas
  20. Buenas noches Tengo el siguiente código que muy amablemente me ayudaron Sub Nuevokardexclte() Sheets("A1").Select Sheets("A1").Copy before:=Sheets(7) For Each Sh In Sheets If InStr(1, Sh.Name, Range("B1")) > 0 Then 'se busca el guión bajo porque no sabemos cuántos índices puede llegar a tener For i = Len(Sh.Name) To 1 Step -1 If Mid(Sh.Name, i, 1) = "-" Then indi = Right(Sh.Name, Len(Sh.Name) - i) + 1 nvonbre = Left(Sh.Name, i) & indi ActiveSheet.Name = nvonbre Exit For End If Next i 'si i = 1 es que no encontró el guión If i = 0 Then nvonbre = Range(…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 863 visitas
  21. Started by andresko,

    If Mid(ComboBox1.Value, 1, 1) = "B" Or Mid(ComboBox1.Value, 9, 1) = "B" ThenTipo = 2ElseTipo = 1End IfAncho = Mid(ListBox1.Value, 1, 3)If Mid(ListBox1, 18, 1) = "u" ThenEspesor = Mid(ListBox1.Value, 16, 2)ElseEspesor = Mid(ListBox1.Value, 16, 3)End IfDim importacion As Variant, Proveedorproducto As Variantimportacion = Application.VLookup(TextBox7.Value, Worksheets("Estructura COD. Lotes Film").Range("A3:J102"), 3, False)Proveedorproducto = Application.VLookup(TextBox7.Value, Worksheets("Estructura COD. Lotes Film").Range("A3:F102"), 6, False)If IsError(importacion) = False ThenCells(n, 7).SelectActiveCell.FormulaR1C1 = TextBox7.Value & importacion & Proveedorprod…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.6k visitas
  22. Started by zero-x,

    Hola , Buenas Tardes , agradeceria cualquier ayuda para automatizar este problema Con la planilla lo que obtengo es el directorio de trabajo que se llama originales para efecto de este ejemplo Datos Tengo una cantidad no definida menor que 40 de archivos pdf en carpetas FA,FB, para este ejemplo,pudiendo ser más FC,FD etc. Necesito introducir numeros correlativos en cada pdf partiendo de 01FA hasta 40 FA (05FA en este ejemplo) , pero no tomando el 00FA , el resultado de esto seria mover 00FA a la Carpeta FAN y ahi poner todos los archivos de 01FA hasta 50FA o menor con el numero coorrelativo dentro de cada archivo y que…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.6k visitas
  23. Buenos días, Requiere de su ayuda para que por favor me apoyen diciéndome como puedo plantear un código vba, que me permita consolidar todos los archivos contenidos en una carpeta X en un solo archivo de excell para poder armar una base de datos. obviamente los archivos contenidos en la carpeta tienen la misma estructura (misma cantidad de campos, iniciando en A1 y terminado en la columna F), solo que son casi 60 archivos los que debe consolidar la macro. Si me pueden ayudar les agradecería inmensamente.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  24. Tengo el siguiente problema, en el paso de validación de un formulario, tengo que validar 3 o 4 campos por linea, las lineas pueden llegar a ser 20. Es por eso que quisiera poder mediante un FOR a cada uno de los textbox/combobox. Intente algo asi pero no funciona, se que no lo estoy haciendo correctamente. Lei algo acerca de indexar pero tampoco se realizarlo, podrian indicarme por donde atacar el problema. Muchas gracias. VALIDACIÓN PARA LA PRIMER LINEA: If Npedidobox1.Value = "" Then MsgBox "Por favor seleccione Numero de Pedido en la linea 1.", vbExclamation, "Carga de Movimiento" Exit Sub End If If Conc…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 611 visitas
  25. Estimados, la consulta es la siguiente: tengo este vinculo en A1 ='C:\Users\Usuario\Cursos\1º AÑO TT\[LENGUA_Y_LITERAT_1º_TT.xlsm]Hoja1'!D10. Lo que necesito es que cuando pegue la formula en otra celda le pueda cambiar solo la parte de la celda donde esta el dato, en este caso seria "D10", es decir poder modificar D10 por la letra y numero que yo quiera por ej. P13. y que me pegue la formula donde yo quiera. Bueno no se si se entendió bien pero esa es la idea mas o menos.

    • 0

      Reacciones de usuarios

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