Condividi:        

macro Excel eliminare error debug inserimento immagini

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 09/02/13 22:30

ciao a tutti ,utilizzo questa macro che inserisce in una data cella di un foglio excel un immagine da una cartella del PC.
vorrei modificarla ,perchè quando non trova l'immagine corrispettiva restituisce normalmente"error debug".
Si può implementarla in modo che se non trova la foto iserisce nella cella di excel un immagine "standard"(foto non disponibile) presente nella cartella del pc?

grazie

Private Sub Image1_Click()
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sPath As String
Dim sExt As String
Dim sTotal As String
Dim rng As String
sPath = "C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\"
sExt = ".jpg"
rng = Range("F21").Value
GoTo XIT
ERR:
rng = "Error"
XIT:
sExt = ".jpg"
sTotal = sPath & rng & sExt
If rng = "" Then rng = "Error"
Image1.Picture = LoadPicture(sTotal)
End Sub
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Sponsor
 

Re: macro Excel eliminare error debug inserimento immagini

Postdi Flash30005 » 09/02/13 23:46

Ciao MaxKoala e benvenuto nel Forum

Non sei riuscito ad adattare la macro già pubblicata in questo post?

fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 10/02/13 17:59

non sono pratico , ho già provato ma mi sono incasinato! questa funziona benissimo , vorrei modificarla integrandola con immagine di default o standard
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi Anthony47 » 10/02/13 22:43

L' argomento e' stato affrontato in varie discussioni; ad esempio anche qui: viewtopic.php?t=93054#p533274
Le istruzioni dicono:
Nelle righe marcate <1 dovete inserire la directory dove sono reperibili le foto da inserire
Nella riga marcata <2 va la directory + il nome dell' immagine di default.


Dovrebbe essere facile trasferire tutto sulla tua macro (dove tra l' altro si intuisce come l' immagine viene inserita, non si capisce invece come la vecchia immagine viene rimossa).
E se non risolvi allora posta ancora segnalando dove ti sei arenato.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 12/02/13 11:00

Ciao Antony scusa la lentezza , ho provato ad inserire il codice indicato nel viewtopic.. ma non funziona -restituisce errore nella riga inerente il path dove cercare immstandard .!
riepilogo cosa faccio normalmente. nella cella f21 del foglio1 inserisco il nome della foto, a lato della cella f1 ho creato una useform image ( che contiene una macro ) nel quale viene visualizzata l'immagine . La macro che ho postato contiene le seguenti informazioni : F21 cella excel dove digitare il nome della foto e Path directory dove cercarla. e funziona ..! cioè digito un nome e appare la foto (nell'useform creata !) cambio con un altro nome e appare la sua foto corrispettiva. se digito un nome sbagliato restituisce errore. Pensavo che integrare la macro iniazle con indicazione di immstandard fosse più semplice.
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi Anthony47 » 12/02/13 12:21

Puoi precisare in quale codice hai tradotto il suggerimento, e quale errore /su quale riga viene restituito?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 12/02/13 13:58

Questa è la macro modificata : ho sostiuito tutta la parte "Private Sub Worksheet_Change " dal viewtopic

Codice: Seleziona tutto
Private Sub Image1_Click()
End Sub
 Private Sub Worksheet_Change(ByVal Target As Range)
    If Application.Intersect(Target, Range("F21")) Is Nothing Then Exit Sub
    On Error Resume Next
        ActiveSheet.Shapes("IMAGE_MOD_SPP" & Target.Offset(0, 0).Address(0, 0)).Delete
    On Error GoTo 0
    UR = Range("E" & Rows.Count).End(xlUp).Row
    For RR = Target.Row To UR
    Cells(RR, 5).Select
    MsgBox Cells(RR, 5).Text
    If Dir("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\.jpg") = "" Then
    ActiveSheet.Pictures.Insert("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\ImmStandard.jpg").Select
    Else
    ActiveSheet.Pictures.Insert("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\.jpg").Select
    End If
    Selection.Name = "IMAGE_MOD_SPP" & Target.Offset(0, 0).Address(0, 0)
    Next RR
    End Sub

L'error debug si presente in questa riga:
ActiveSheet.Pictures.Insert("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\ImmStandard.jpg").Select
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi Flash30005 » 12/02/13 14:51

Ma in quella cartella hai un file (immagine .jpg) con nome "ImmStandard.jpg" ?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: macro Excel eliminare error debug inserimento immagini

Postdi Anthony47 » 12/02/13 15:09

If Dir("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\.jpg") = "" Then
ActiveSheet.Pictures.Insert("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\ImmStandard.jpg").Select
Else
ActiveSheet.Pictures.Insert("C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\.jpg").Select
End If

Nella riga IF devi dargli un percorso e un nome immagine; il nome immagine invece manca.
La prima riga ActiveSheet.Pictures.Insert presuppone che tu abbia una directory C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP all' interno della quale ci sia una immagine con nome ImmStandard.jpg
La seconda riga ActiveSheet.Pictures.Insert ha lo stesso problema della riga IF, cioe' manca il nome dell' immagine da prelevare.
La macro si attiva quando cambi il contenuto della cella F21, poi cicla sul contenuto della colonna E tra riga 21 e la fine dell' elenco: c' e' qualcosa di pertinente in queste celle Exx?

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 12/02/13 18:15

Ciao , ho copiato in blocco tutta la macro dal viewtopic credendo di dover mettere solo il path corretto e l'identificativo dell'immagine standard. vorrei essere sicuro di non fraintenderti ,la riga IF come come la riga ActiveSheet.Picture contiene il percorso esatto , ma il nome dell'immagine da specificare si riferisce ad immstandard.jpg?
Seconda cosa , è giusto kuando cambio il valore in F21 si attiva la macro , e l'immagine deve apparire dentro la useform Image ! le celle Exx non so cosa siano ...forse sono riferite alla macro che ho copiato..! ...che casinista.
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 12/02/13 18:54

ho dimenticato di rispondere che alla domanda : Ma in quella cartella hai un file (immagine .jpg) con nome "ImmStandard.jpg" ? la risposta è si ! nella stessa cartella ho le immagini da caricare e allo stesso tempo è presente l'immagine denominata Immstandard.jpg da caricare kuando in f21 il valore e diverso da kuello delle foto.
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi Anthony47 » 12/02/13 22:26

Ovviamente non esiste una singola macro che risponde a tutte le domande...
Comunque forse ho capito la logica che vuoi realizzare (ma la prossima volta scrivilo tu usando il tuo tempo), adesso resta solo il dubbio di dove vuoi mettere l' immagine il cui nome mi pare scriverai in F21.
Nell' ipotesi che quella che chiami "useform Image" sia un controllo ActiveX "Image" che si chiama "Image1" allora puoi usare questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$F$21" Then Exit Sub
myPath = "C:\Users\Massimo\Desktop\Koala\IMAGE_MOD_SPP\"
Application.EnableEvents = False
If Dir(myPath & Target.Value & ".jpg") = "" Then
    Image1.Picture = LoadPicture(myPath & "ImmStandard.jpg")
Else
    Image1.Picture = LoadPicture(myPath & Target.Value & ".jpg")
End If
Application.EnableEvents = True
End Sub
E' una macro "di evento", quindi va inserita nel modulo di codice del foglio su cui operi.
La macro non interviene su altre proprieta' del controllo, quali AutoSize, Alignment e quant'a ltro potrebbe essere attinente; le imposterai quindi come "proprietà" del controllo durante la sua progettazione; oppure inserisci altre istruzioni nella macro per gestirle coerentemente con quanto hai immaginato di fare.

Per favore usa la k quando serve la k e la q quando serve la q.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 12/02/13 23:15

grazie Anthony , ora non posso testarla , ma ho la sensazione che mi hai dato la giusta dritta ..! e per questo ti ringrazio in anticipo , comunque ti farò sapere..!
ciao
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 13/02/13 15:25

Ciao Anthony , ho provato il codice , ma ora carica solo l'immagine standard ma le immagini non variano al variare del valore in F21...!!!!!
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35

Re: macro Excel eliminare error debug inserimento immagini

Postdi Anthony47 » 13/02/13 23:55

1, accertati che i nomi che inserisci in F21 corrispondano a dei file "JPG" all' interno della directory specificata.
2, hai avuto degli errori a seguito dei quali hai scelto "Termina macro"? Se SI, chiudi e riapri excel e riprova.
3, prova a debuggare la macro: metti un breakpoint sulla riga If Target.Address e poi esegui passo passo con F8.

Per inserire un breakpoint nel codice, puntare alla sinistra della riga e cliccare; la riga verra' marcata come da immagine e l' esecuzione si fermera' su quella riga; si puo' quindi procedere passo-passo usando il tasto F8, cosi' potrai capire quale percorso viene eseguito.
Immagine

Per togliere il break, ripuntare e ricliccare; per eseguire normalmente, premere F5.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro Excel eliminare error debug inserimento immagini

Postdi maxkoala » 14/02/13 18:01

Ok , il problema era che nel tentativo di provare a casa avevo creato una corrispondenza che tale ,evidentemente, non era. Ho provato il codice a lavoro ,così come indicato da te precedentemente e funziona bene.Quindi a chi servisse , una cartella con foto ( in cui ci sia anche una foto denominata "Immstandard" ) , un foglio excel una useform image , questo codice, a cui associare il path giusto e la cella in cui mettere il nome dalla foto .è la cosa va...
Grazie Anthony per la pazienza. ( non c'è uno senza due...)
maxkoala
Utente Junior
 
Post: 31
Iscritto il: 09/02/13 18:35


Torna a Applicazioni Office Windows


Topic correlati a "macro Excel eliminare error debug inserimento immagini":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti