Jump to content

Recommended Posts

Buenas tardes amigos.

Necesito ayuda con una macro que después de funcionar durante un par de años sin problema en entorno Excel 2010, ahora al haber cambiado a Excel 2016 se ejecuta incompleta.

La macro debe copiar y guardar una selección como imagen jpg (lo cual hizo a la perfección hasta ahora) y probandola en el editor paso a paso(F8) lo hace correctamente, sin embargo al ejecutarla mediante el botón que tengo en la barra de herramientas me genera una imagen en blanco, o sea no pega el contenido del rango seleccionado.

He revisado la configuración de Excel, pero parece que no doy con el fallo, por lo cual os pido ayuda ya que necesito utilizar esta macro con frequencia.

El código es el siguiente:

Sub Selection2Jpg()

Application.ScreenUpdating = False

Dim MyChart As Chart

With Selection

    .CopyPicture Appearance:=xlScreen, Format:=xlPicture

    Set MyChart = ActiveSheet.ChartObjects.Add(10, 10, .Width, .Height).Chart

End With

MyChart.Paste

MyChart.ChartArea.Border.LineStyle = 0

On Error Resume Next

Dim myimagen As String

myimagen = InputBox("Nombre de la Imagen?")

myimagen = myimagen & ".jpg"

MyChart.Export "D:\Temporal" & "\" & myimagen

MyChart.Parent.Delete

Set MyChart = Nothing

Application.ScreenUpdating = True

End Sub

 

Muchas gacias de antemano

Link to post
Share on other sites

Hola he probado tu macro y no me da ningun error es mas la guardare por cualquier necesidad, gracias.

Pero creeri que deberia verficar bien el boton, ya que me a sucesido en alguna ocacion que al cambiar de archivo o de excel, queda guardada la ruta de donde se tomo por primera ves la macro no de donde la tenes ahora activa.

 

Salu2

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Crear macros Excel

  • Posts

    • Buenos días. Es mi primera intervención, y ya es para pedir ayuda.  Ver si puedo contar con vuestras experiencias.   Tengo una tabla, en una columna días, y en la otro la puntualidad de ese día en concreto en "%"   Ya he calculado en el total de año el nr de días que la puntualidad ha sido del 100%   Pero (y ahí es donde me he quedado atascado), necesitaría un contador que me dijera el número de días que llevamos con una puntualidad de los empleados del 100%   He encontrado este tema que me ha servido de algo de ayuda, pero o bien no se interpretarlo, o no es exactamente lo que busco.     Comunidad, anticipadamente, muchas gracias por vuestra ayuda. EJEMPLO 1.xlsx
    • Buenas a tod@s, Os adjunto un calendario al que quiero hacer lo siguiente: como veis tengo una celda que es la E22 en color rojo que usaré para los dias festivos. Justamente debajo incluiré los dias festivos (1 de enero, 6 de enero, etc) estos dias al incluirlo en el listado querria que cambiaran el color segun el relleno de la Celda E22. Tambien busco la forma de que si cambio el año estos dias se actualicen Luego tengo la celda I18 que tiene el color amarillo y querria que al incluir los dias del calendario me cambiaran al color de relleno de dicha celda. Es posible? 2021.xlsm
    • Después de varios años sin abrir una hoja de cálculo, me encuentro ante nuevos retos, espero poder aportar mis antiguos conociminentos y aprender de los vuestros.   Un Saludo. !!
    • ¡Hola a ambos! @YOUSAFJAMALD, para la próxima, sube un archivo Excel en vez de una imagen.  Nos ayuda mucho más a ayudarte. Ahora, en cuanto a tu problema y como bien te comenta @DiegoPC, efectivamente, con la función BUSCAR "solita", el problema no es posible realizarlo, pero con "ayuda" si que es posible. =BUSCAR(2;1/FRECUENCIA(0;1/(1+(K$37:K$43<=N37)*K$37:K$43));L$37:L$43) otra alternativa un poco más "digerible": =INDICE(L$37:L$43;COINCIDIR(MAX(INDICE(K$37:K$43*(K$37:K$43<=N37);));K$37:K$43;)) o también usar la función BUSCARX (solo disponible en Microsoft 365 / Excel 2021 / Excel Online 😞 =BUSCARX(N37:N63;K37:K43;L37:L43;"No Existe";-1) Analiza detenidamente las propuestas.  ¡Bendiciones!
    • Saludos espero me puedan ayudar, he intentado todo y no lo consigo. estoy tratando de descargar datos de una web la cual es "post" y posteriormente es "get" redirecciona a otra pagina, solo lo he logrado con el navegadro explorer pero el detalle que es muy tardado ya que son 170mil datos y con explorer es como si fuera navegando, abrir explorador, poner url, bucar las etiquetas donde se hace la cosulta y despues click en un boton, esperar a que cargue la pagina y extraer los datos de esa consulta.   me gustaria poderlo hacer mediante xmlhttp   anexo link de la pagina  https://serviciosfinanzas.villahermosa.gob.mx:8800/serviciosfinanzas/dp/busqueda-agua.html y mi codigo    Sub Web_Data()     Dim str_arg As String    Dim URL     str_arg = "xContrato=000001&Buscar=Buscar"     URL = "https://serviciosfinanzas.villahermosa.gob.mx:8800/serviciosfinanzas/dp/busqueda-agua.html" Set OBJHTTP = CreateObject("MSXML2.XMLHTTP")     With OBJHTTP              .Open "GET", URL, False         .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"         .setRequestHeader "contenido-type", "text/html"         .setRequestHeader "contenido-type", "application/xhtml+xml"         .setRequestHeader "contenido-type", "application/x-www-form-urlencoded"                  .setRequestHeader "contenido-type", "application/javascript"         .send str_arg         TXT = .responseText         Debug.Print TXT              End With     [A1] = html.getElementsByTagName("td")(1).innerText 'valor a extraer numero de contrato, nombre y direccion End Sub
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy