| | Post: 233 | Registrato il: 07/12/2006
| Città: ROMA | Età: 45 | Utente Junior | 2013 | | OFFLINE | |
|
29/08/2017 01:27 | |
Ciao a tutti,
volevo creare una macro per fare in modo da salvare un intervallo di celle in una immagine da mettere in un percorso sul pc, ad esempio "C:\immagine.jpg".
Qualcuno ha del codice che posso utilizzare, in rete trovo un po' di cose ma niente di valido |
|
| | Post: 1.581 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
29/08/2017 09:26 | |
Ciao
questo codice crea un "foglio grafico" chiamato mGraf, vi incolla il range indicato in oRange, salva in c:\miefoto\MyPic.jpg, per poi cancellare il suddetto foglio.
Saluti
Sub mImage()
Dim wsSheet As Worksheet, oRange As Range, oCht As Chart, oImg As Picture
Application.ScreenUpdating = False
On Error Resume Next
Sheets("mGraf").Select
If ActiveSheet.Name = "mGraf" Then
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End If
Set oRange = Range("A1:E30") '<<<< VARIARE
Set oCht = Charts.Add
oCht.Name = "mGraf"
oRange.CopyPicture xlScreen, xlPicture
oCht.Paste
filepath = "c:\miefoto\" '<<<< VARIARE
oCht.Export Filename:=filepath & "MyPic.jpg", FilterName:="jpg" '<<<< VARIARE NOME
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub [Modificato da dodo47 29/08/2017 09:27] Domenico
Win 10 - Excel 2016 |
| | Post: 234 | Registrato il: 07/12/2006
| Città: ROMA | Età: 45 | Utente Junior | 2013 | | OFFLINE | |
|
29/08/2017 11:45 | |
Mi si blocca alla linea di export, ed ho messo l'indirizzo dove esportare correttamente.
Non sono sicuro sia compatibile con Excel 2013, sto cercando qualcosa su Internet e sembra che funzioni solo con Excel 2016 il tuo metodo |
| | Post: 1.582 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
29/08/2017 11:59 | |
Ciao
non saprei, io ho excel 2010 e excel 2003, testato su entrambi non mi da problemi.
Prova a descrivere l'errore ricevuto, ma...non saprei cos'altro fare.
Segui in debug intanto per vedere se prima di quella istruzione ti trovi nel foglio grafico il range selezionato copiato, poi leggi nel tuo help le indicazioni sul metodo export.
saluti Domenico
Win 10 - Excel 2016 |
| | Post: 3.937 | Registrato il: 13/03/2012
| Città: LIVORNO | Età: 78 | Utente Master | 2010 | | OFFLINE | |
|
29/08/2017 12:29 | |
io preferisco questa
Sub CopyRangeToJPG()
Dim rng As Range, Cht As ChartObject
strPath = "D:\DATI\prova\"
Set rng = Range("A1:G7")
rng.CopyPicture xlScreen, xlPicture
Set Cht = ActiveSheet.ChartObjects.Add(0, 0, rng.Width, rng.Height)
Cht.Chart.Paste
Cht.Chart.Export strPath & "myfile.jpg"
Cht.Delete
Set Cht = Nothing
Set rng = Nothing
End Sub
----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta |
| | Post: 235 | Registrato il: 07/12/2006
| Città: ROMA | Età: 45 | Utente Junior | 2013 | | OFFLINE | |
|
29/08/2017 18:58 | |
Grazie,
ora funziona tutto :)
Ho utilizzato il codice di patel45 |
|
|