Condividi:        

Come inserire una immagine in EXCEL

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

Come inserire una immagine in EXCEL

Postdi motino30 » 23/01/14 08:04

Mi sono appena iscritta e mando un grosso saluto a tutti coloro che mi leggeranno, nella speranza che un'anima buona mi possa aiutare a risolvere questo mio problema.

Ciao a tutti, Mi chiamo Doretta e vorrei chiedere a qualcuno di voi come fare ad inserire, con una macro, una immagine nella cella B2 che corrisponda al testo che mi ritrovo nella cella A2; inserire ancora in cella B3 un'immagine dalla stessa cartella che corrisponda al testo di A3 ed ancora la stessa procedura per la cella B4 che incolli l'immagine del testo A4.
Vi faccio un esempio:

- In cella A2 ho la parola Fiordaliso; in cella A3 ho la parola Geranio; nella cella A4 ho la parola Giglio.
- alla attivazione della macro dalla cartella C:\doretta_fiori deve inserire nella cella B2 l'immagine fiordaliso.jpg da C:\doretta_fiori; nella cella B3 l'immagine geranio.jpg da C:\doretta_fiori; nella cella B4 l'immagine giglio.jpg da C:\doretta_fiori;
- Non appena cambio il nome in una delle celle A2 o A3 o A4 le immagini deve essere eliminate.

Grazie anticipate di una vostra eventuale risposta ed un grosso bacione a tutti

Doretta
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Sponsor
 

Re: Come inserire una immagine in EXCEL

Postdi ricky53 » 23/01/14 11:23

Ciao Doretta,
prima di tutto benvenuta nel nostro forum.

Mi sembra di aver già visto questa esigenza e proprio con i nomi dei fiori ma ... vista l'età ... non ricordo dove e quindi non posso darti il riferimento ... forse eri proprio tu ad aver inserito il quesito in un altro forum.
Quindi Iniziamo dal primo passo.

Che versione di office utilizzi e che conoscenza hai del VBA ?

Prova con il registratore di macro ad inserire un'immagine prendendola dalla tua cartella, dovrai modificare il codice, ottenuto con il registratore, facendo in modo che il nome che nel codice è fisso sia riferito alla cella selezionata ...

Inizia con questo passo poi facciamo il resto insieme
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Come inserire una immagine in EXCEL

Postdi Anthony47 » 23/01/14 11:38

Ciao motino30, benvenuta anche da parte mia.
Tra le numerose discussioni che vertono su questo problema ti rimando a questa: viewtopic.php?t=93054

Vedi cosa riesci a combinare, poi sai che siamo qui, in tanti.

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

Re: Come inserire una immagine in EXCEL

Postdi motino30 » 23/01/14 21:24

Signori buonasera, si ricorda bene signor Ricky, purtroppo ho dovuto fare molte iscrizioni in quanto in alcuni forum ho avuto negato alcuni ingressi. Non so cosa abbia potuto combinare, purtroppo non sono stata in grado di proseguire nelle risposte.
Chiedo scusa per tutti i pasticci ma mi ritrovo in un mare di piccoli problemi.

Per fare un po' d'ordine dirò che il mio vero nome è Antonella e che Doretta è il nomignolo che mi davano da piccola; purtroppo avendo esaurito le prove con "Antonietta, Antonietta112, Anto, antolofar, ecc... ho adoperato il mio nomignolo.
Rispondo subito alle domande:
Utilizzo Office 2003 ed ho una piccola conoscenza di VBA, ho fatto solo qualche piccola esperienza.

La precedente richiesta volgeva su un quesito per fiori, ma con la precedente risposta ottenuta, quando attivavo la macro di inserimento immagini mi cancellava tutte le immagini nel foglio di lavoro.
All'asilo, dove lavoro, i giochini che cerchiamo di preparare per i bimbi sono davvero molteplici dai fiori, agli animali, agli attrezzi di cucina, ai colori, ecc..

Per rifare un foglio tutto in ordine e che non mi cancelli le altre immagini sul foglio descrivo nuovamente quello che mi occorerebbe inserire come macro:

- In cella A2 ho la parola Fiordaliso; in cella A3 ho la parola Geranio; nella cella A4 ho la parola Giglio.
- alla attivazione della macro dalla cartella C:\doretta_fiori deve inserire nella cella B2 l'immagine fiordaliso.jpg da C:\doretta_fiori; nella cella B3 l'immagine geranio.jpg da C:\doretta_fiori; nella cella B4 l'immagine giglio.jpg da C:\doretta_fiori;
- Non appena cambio il nome in una delle celle A2 o A3 o A4 le immagini deve essere eliminate MA SOLO LE IMMAGINI DALLE CELLE B2 - B3 - B4.

Grazie Ricky per la risposta e spero di poter avere il vostro aiuto.

Un cordiale saluto Antonella (Doretta)
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi ricky53 » 24/01/14 02:19

Ciao Antonella,
(ti ho riconosciuta e mi sono ricordato in quale forum ci eravamo incontrati ...)

Copia il seguente codice nel foglio dove vuoi lavorare con le immagini
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim UR As Long, R As Long, I As Long, mPath As String, mFoto As String
    Dim oOgg As Shape, SH As Sheets
    If Target.Columns.Count > 1 Or Target.Rows.Count > 1 Then
        MsgBox "Operare solo su una cella"
        Exit Sub
    End If
    If Target <> "" Then
        UR = Range("A" & Rows.Count).End(xlUp).Row ' Ultima riga con dati
        If Not Intersect(Target, Range("A2:A" & UR)) Is Nothing Then
            mPath = "D:\Temp" ' <<===== QUI scrivi il percorso ove hai le tue foto
            mFoto = Target
            If Dir(mPath & "\" & mFoto & ".jpg") <> "" Then ' Si controlla se la foto esiste
                Application.ScreenUpdating = False
                For Each oOgg In ActiveSheet.Shapes
                    If oOgg.Top - 4.5 = Target.Top Then
                        oOgg.Delete ' Si cancella l'immagine esistente
                        Exit For
                    End If
                Next oOgg
                With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
                    .Top = Target.Offset(0, 1).Top + 5
                    .Left = Target.Offset(0, 1).Left + 5
                    .Height = Target.Offset(0, 1).Height - 10
                    .Width = Target.Offset(0, 1).Width - 10
                End With
                Application.ScreenUpdating = True
            Else
                MsgBox "Immagine non trovata" ' <<====== QUI scrivi il messaggio che vuoi sia inviato
            End If
        Else
            MsgBox "Scrivere un nome in una cella della colonna  'A'"
        End If
    Else
        For Each oOgg In ActiveSheet.Shapes
            If oOgg.Top - 4.5 = Target.Top Then
                oOgg.Delete ' Si cancella l'immagine esistente
                Exit For
            End If
        Next oOgg
    End If
End Sub


Per copiare il codice opera in questo modo:
1. seleziona il foglio
2. tasto destro
3. visualizza codice
4. nella finestra di destra copia il codice

Dopo aver copiato scrivi/modifica/cancella un nome in una cella della colonna "A" e ...

Fatti sentire
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Come inserire una immagine in EXCEL

Postdi Flash30005 » 24/01/14 02:29

Ciao Motino30 o Doretta o Antonella o... ma quanti nomi hai? :D
e benvenuto/a nel Forum

Come dice Anthony è stato risolto con successo il quesito da te posto, anzi oltre all'inserimento, ricordo, che si dimensionavano le immagini inserite in modo tale di averle tutte nella stessa grandezza ma scoprirai da sola se fai una ricerca appropriata.
Nel frattempo anche Ricky53 ti ha proposto qualcosa...
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: Come inserire una immagine in EXCEL

Postdi motino30 » 24/01/14 11:19

Ciao a tutti ed un abbraccio a voi gentili e disponibili.
Un mio pensiero: "Con tanta gente come Voi, il mondo potrebbe cambiare di colpo !"

Stamani sono al lavoro con il mio portatile non appena a casa mi metterò al lavoro ed
entro sera Vi farò sapere.

Un grosso bacione a tutti Voi ed un grazie di vero cuore !

Antonella
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi motino30 » 24/01/14 17:46

Ciao a tutti e buonasera,
Ho completato i fogli di lavoro sui quali ho già impostato tutto e mi sono
creata gli archivi di fiori, animali, colori ed oggetti di casa, con misure in pixel di 85 x 45.

Ho inserito la macro ma non me la legge per nulla (da strumenti - macro ma non mi appare la macro).

Ho notato durante le prove di questi giorni che, se la macro inizia per "Private Sub ........ " non appare
tra le macro; posso vederla solo sull'editor VBA.

Quindi volevo dirti caro Ricky che non posso procedere con le prove.

Sbaglio qualcosa io oppure la mia versione 2003 non mi accetta la macro ?

Grazie e resto in attesa di vostri consigli.

Un saluto a tutti voi
Antonella
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi ricky53 » 24/01/14 18:09

Ciao,
sto scappando e scrivo velocemente e a memoria.

Il 2003 accetta tranquillamente le macro come tutte le versioni di excel.

Hai seguito i passi che ti avevo indicato ???
Per copiare il codice opera in questo modo:
1. seleziona il foglio
2. tasto destro
3. visualizza codice
4. nella finestra di destra copia il codice

Dopo aver copiato scrivi/modifica/cancella un nome in una cella della colonna "A" e ...

Per le prove è importante l'ultima frase

Comunque ci sono altri modi per inserire una macro:
devi aprire l'editor del Visul Basic (VBE).
Puoi farlo mediante la combinazione di tasti "Alt+F11"
oppure con:
Barra dei menu
Strumenti
Marco
Visual Basic Editor
Nel riquadro di sinistra devi selezionare
"VBAProject"
Microsoft Excel Oggetti
Foglio1
Nel riquadro di destra copia la macro che ti ho inviato e ...
scrivere un nome di fiore in una cella della colonna "A" del "Foglio1" e ...

Leggi anche un po' la guida e PROVA !!!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Come inserire una immagine in EXCEL

Postdi Flash30005 » 24/01/14 19:05

Elimina il Private al nome macro
avrai quindi
Codice: Seleziona tutto
Sub Worksheet_Change(ByVal Target As Range)


ora sarà visibile dal foglio e potrai abbinarla ad un pulsante o altro

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: Come inserire una immagine in EXCEL

Postdi motino30 » 24/01/14 19:55

Buonasera, ho provato la macro e funziona ottimamente per l'inserimento, ma per quanto concerne la eliminazione delle immagini come procedo ? Vorrei solo cancellare le immagini poste nella colonna B.

Con l'inserimento di una macro per cancellare le immagini che qui riporto:

[color=#BF0000]Public Sub Test2()
Dim wsh As Excel.Worksheet
Dim i As Long
Dim blnFound As Boolean

Set wsh = Application.ActiveSheet
With wsh.Shapes
For i = .Count To 1 Step -1
With .Item(i)
If .Type = msoPicture Then
.Delete
End If
End With
Next
End With

Set wsh = Nothing
End Sub
[/color]

mi cancella tutte le immagini dal foglio: Nei vari fogli abbiamo il logo ed altre immagine di intrattenimento per i bimbi che non dovrebbero essere cancellate.... Per favore come faccio a cancellare solo le immagini della colonna B ?

Grazie a tutti ed una buona notte.

Antonella
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi ricky53 » 24/01/14 22:24

Ciao,
non c'è bisogno di un pulsante per far eseguire la macro, basta scrivere il nome di un fiore in una cella della colonna "A" e ... l'immagine si avrà nella colonna "B" sulla stessa riga !!!


Mi viene il dubbio (o meglio CERTEZZA) che tu non abbia provato la macro che ti ho dato o che lo abbia fatto nel modo che ti ho descritto !!!

Mi dici cosa hai fatto per provare il codice che ti ho inviato?


Ti occorre un file di esempio. Se "SI", comunicalo e te lo preparo.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Come inserire una immagine in EXCEL

Postdi ricky53 » 24/01/14 23:25

Ciao Antonella,
è venerdì ed ho tempo ... ecco un FILE di ESEMPIO.
Dovrai cambiare il percorso ... leggi i commenti che ho scritto nel codice.


Nel file ho già inserito delle immagini, posizionati sulla cella "A2" e premi "Canc" oltre che il nome verrà cancellata anche l'immagine presente in "B2", procedi con le altre immagini cancellando i nome, sempre in colonna "A".

Inserisci un nome di un fiore in "A2" e ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Come inserire una immagine in EXCEL

Postdi Anthony47 » 24/01/14 23:50

Non perdere il messaggio di Ricky e il suo file di esempio, sopra.

Per cancellare in modo piu' affidabile le immagini quando cambi il contenuto delle celle A2-A3-A4 suggerisco questa variante alla macro di Ricky:
Codice: Seleziona tutto
Sub Worksheet_Change(ByVal Target As Range)
    Dim mPath As String, mFoto As String, myArea As String, Cella As Range
'
myArea = "A2:A4"      '<< Le celle dove potrai scrivere nomi immagini
'
If Application.Intersect(Range(myArea), Target) Is Nothing Then Exit Sub
'
For Each Cella In Target
    On Error Resume Next
        ActiveSheet.Shapes("FOTO_DA_" & Cella.Address(0, 0)).Delete
    On Error GoTo 0
    If Cella.Value <> "" Then
            mPath = "C:\PROVA" ' <<===== QUI scrivi il percorso ove hai le tue foto
            mFoto = Cella.Value
            If Dir(mPath & "\" & mFoto & ".jpg") <> "" Then ' Si controlla se la foto esiste
                Application.ScreenUpdating = False
                With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
                    .Top = Cella.Offset(0, 1).Top + 5
                    .Left = Cella.Offset(0, 1).Left + 5
                    .Height = Cella.Offset(0, 1).Height - 10
                    .Width = Cella.Offset(0, 1).Width - 10
                    .Name = "FOTO_DA_" & Cella.Address(0, 0)
                End With
                Application.ScreenUpdating = True
            Else
                MsgBox ("Immagine non trovata: " & Cella.Value) ' <<====== QUI scrivi il messaggio che vuoi sia inviato
            End If
    End If
Next Cella
End Sub


Procedi in questo modo:
-tasto dx sul tab col nome del foglio su cui devi inserire le immagini
-scegli Visualizza codice
-ti si apre l' editor delle macro sul modulo del codice associato a quel foglio; il codice va inserito nel frame di destra, eliminando una eventuale altra macro di tipo Worksheet_Change gia' presente.
-Personalizza le istruzioni marcate <<

Poi torna sul foglio di lavoro, cancella manualmente tutte le immagini inappropriate (comprese quelle eventualmente inserite tramite la macro nella versione precedente), scrivi il nome immagine in una cella nell' intervallo A2:A4 e verifica che l' immagine sia inserita nella colonna adiacente.
Quando inserisci un nuovo nome l' immagine cambia; quando cancelli il contenuto delle celle l' immagine viene cancellata; quando inserisci un nome immagine inesistente esce un messaggio.

Non ho capito se per caso vorresti che venga visualizzata solo l' ultima immagine digitata; in questo caso faremo una piccola modifica.

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

Re: Come inserire una immagine in EXCEL

Postdi motino30 » 25/01/14 05:13

Buongiorno Ricky e buongiorno Antony,

Mi spiace non averVi potuto rispondere ieri sera, purtroppo, giacché al mattino mi alzo alle 4,45 capite che sarebbe una tortura per me stare alzata fino a tardi.
Mio marito, visto che entrambi usciamo di casa alle 6,45 per andare al lavoro, è abbastanza apprensivo sugli orari.
Considerate che freddo e neve, in questa stagione, non mancano mai; abitiamo in montagna e quindi le insidie del tempo
sono una costante preoccupazione.

Bando alle chiacchere, perchè ho da correre, ho appena verificato entrambe le macro e tutto va benissimo ..... davvero !
Ricky ed Antony, un'ultima cortesia: ma con una variante alla macro o con l'aggiunta di un'altra macro ed un pulsante posso di colpo cancellare tutte le immagini della colonna B ?

Mi siete stati molto prezioni e di nascosto vi invio uno smackkkkkk immenso e di vero cuore.

Quando rientrerò a casa, nel pomeriggio, Vi riscrivo ancora.
Buonagiornata ad emtrambi
Antonella
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi Flash30005 » 25/01/14 12:48

Puoi usare questo codice a se stante inserito in un modulo
Codice: Seleziona tutto
Sub CancellaImm()
        For Each oOgg In ActiveSheet.Shapes
                 oOgg.Delete
        Next oOgg
End Sub


che potrai richiamare con un pulsante o con tasti scelta rapida (opzioni macro Ctrl+m )

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: Come inserire una immagine in EXCEL

Postdi motino30 » 25/01/14 14:41

Buonasera a tutti, Ciao Flash e grazie di avermi risposto.

Una domanda, io ho un problema, avendo altre foto sul foglio di lavoro, vorrei cancellare solo le immagini che sono in colonna B; è possibile aggiustare il codice per cancellare solo quelle ?

Logo ed altre immagini, con la macro che mi hai suggerito si cancellano tutte.

Ciao e grazie anticipate

Antonella
motino30
Utente Junior
 
Post: 19
Iscritto il: 23/01/14 07:41

Re: Come inserire una immagine in EXCEL

Postdi Flash30005 » 25/01/14 16:25

Ma se cancelli i nomi in colonna A automaticamente si eliminano le immagini in colonna B, o no?
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: Come inserire una immagine in EXCEL

Postdi Flash30005 » 25/01/14 16:53

Oppure, se hai usato la macro di Anthony puoi usare questa per eliminare le foto importate
Codice: Seleziona tutto
Sub Cancella()
UR = Range("A" & Rows.Count).End(xlUp).Row
For RR = 2 To UR
    On Error Resume Next
        ActiveSheet.Shapes("FOTO_DA_A" & RR).Delete
    On Error GoTo 0
    Next RR
End Sub


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: Come inserire una immagine in EXCEL

Postdi Anthony47 » 25/01/14 20:16

Immagino che la macro ti serva per pulire un foglio ora in confusione...
In questo caso io suggerisco una macro come questa:
Codice: Seleziona tutto
Sub PicDel()
Dim Sh
Colonna = 2   '<<La colonna da cancellare; 1=A, 2=B, ...
'
For Each Sh In ActiveSheet.Shapes
   If Sh.Type = msoPicture Or Sh.Type = msoLinkedPicture Then
        If Sh.TopLeftCell.Column = Colonna Then Sh.Delete
    End If
Next Sh
End Sub

Una immagine sara' considerata in colonna B se il suo margine sinistro e' all' interno di quella colonna.

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

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Come inserire una immagine in EXCEL":


Chi c’è in linea

Visitano il forum: Nessuno e 53 ospiti