Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Macro che da messaggio di errore quando non trova immagine

Ultimo Aggiornamento: 11/11/2015 19:55
Post: 5
Registrato il: 09/10/2015
Città: PLOAGHE
Età: 51
Utente Junior
2010
OFFLINE
11/11/2015 10:55

Ciao a tutti, il problema è il seguente:
Premetto che nel mio file esiste una macro che mi inserisce correttamente un'immagine nel foglio "Casa". Il problema è con la presente perchè mettiamo che uno non abbia inserito con la prima macro l'immagine e per errore preme il pulsante nella form che esegue la presente. Giustamente la macro non trova l'immagine da eliminare e mi da l'errore allegato e di conseguenza mi rende anche visibile il foglio "Casa".
Io desidererei che la macro una volta che non trova l'immagine mi dicesse "Non si può eliminare un'immagine che non esiste" e di conseguenza uscire tenendo il foglio "Casa" nuovamente nascosto.

Sub EliminaLogo()
'
' EliminaLogo Macro

'Questo comando evita di farmi vedere a video le operazioni della macro
Application.ScreenUpdating = False


MsgBox "Attento!!! In questo modo eliminerai il tuo logo.Se sei sicuro premi OK e il logo verrà eliminato"

With ThisWorkbook.Worksheets("Casa")
Application.ScreenUpdating = False
.Visible = xlSheetVisible

Sheets("Casa").Select

ActiveSheet.Pictures(1).Delete
Sheets("Inser_Dati").Select
Range("H1").Select

.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End With

'Bisogna inserire alla fine anche questo
Application.ScreenUpdating = True
End Sub

Con la speranza di essere stato chiaro vi ringrazio anticipatamente.
Post: 2.794
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Veteran
2013
OFFLINE
11/11/2015 13:42

Se non erro, un IF "se" esiste la foto
Oppure un ELSE casomai "non esistesse"

PS. Non capisco se sono allegate al file, oppure sono in una Directory del PC
Excel 2013
Post: 5
Registrato il: 09/10/2015
Città: PLOAGHE
Età: 51
Utente Junior
2010
OFFLINE
11/11/2015 14:53

L'immagine è nella dir del Pc, anche io pensavo a una If ma non sò proprio come scriverla e in che punto della macro. [SM=x423023]
Post: 2.795
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Veteran
2013
OFFLINE
11/11/2015 16:37

Nel Tuo codice non capisco dove sia la Dir (directory sul PC)
Alcune righe sono inutili
Io farei solo per EX...

if FileExist("C:\MioPercorso\MioFile.ext") then' naturale percorso ed estenzione
Msgbox "esiste"
Else
Msgbox "non Esiste"
End If
Excel 2013
Post: 1.748
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
11/11/2015 16:40

ciao


'Questo comando evita di farmi vedere a video le operazioni della macro
Application.ScreenUpdating = False

On Error Resume Next


MsgBox "Attento!!! In questo modo eliminerai il tuo logo.Se sei sicuro premi OK e il logo verrà eliminato"

Ciao da locate
excel 2007 / 13
Post: 6
Registrato il: 09/10/2015
Città: PLOAGHE
Età: 51
Utente Junior
2010
OFFLINE
11/11/2015 19:49

Risolto
Post: 7
Registrato il: 09/10/2015
Città: PLOAGHE
Età: 51
Utente Junior
2010
OFFLINE
11/11/2015 19:55

Spiego come ho fatto

Sub EliminaLogo()
'evita di farmi vedere a video le operazioni della macro
Application.ScreenUpdating = False

On Error GoTo errore ' Nel caso non sia presente un'immagine nel foglio Casa interviene la If Err.Number

With ThisWorkbook.Worksheets("Casa") ' Mentre nel caso sia presente elimina l'immagine. In entrambi i casi il foglio Casa rimane sempre nascosto
Application.ScreenUpdating = False
.Visible = xlSheetVisible
Sheets("Casa").Select
ActiveSheet.Pictures(1).Delete
MsgBox "Attento!!! In questo modo eliminerai il tuo logo.Se sei sicuro premi OK e il logo verrà eliminato"
Sheets("Inser_Dati").Select
Range("H1").Select

.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True

errore:
If Err.Number <> 0 Then
MsgBox "Non è stato inserito nessun logo"

.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End If
End With


'Bisogna inserire alla fine anche questo
Application.ScreenUpdating = True

End Sub

[SM=x423028] [SM=x423028]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 14:24. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com