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

Macro automatica selezione immagine e link ipertestuale

Ultimo Aggiornamento: 23/11/2017 09:06
Post: 26
Registrato il: 29/05/2015
Età: 35
Utente Junior
2007/2010/2013
OFFLINE
21/11/2017 11:08

Buongiorno a tutti i maghi di questo forum!! :D

Sperando come sempre nel Vostro aiuto vi espongo il mio problema..

allora ho un file con della merce magazzino, con tutti i prodotti catalogati, ho per ogni prodotto una foto con relativo nome inserito nel file excel colonna (F) navigando online sono riuscito a trovare una macro che in base al nome della cella foto selezionata mi fa comparire l'immagine del prodotto SE disponibile

il problema e che il prodotto compare solamente se nella cella non ce inserito il formato .jpg di conseguenza dovrei rinominare tutte le celle ed eliminare l'estensione. ma io vorrei che lui cercasse l'intero file comprensivo di estensione in modo che se per un motivo o per l'altro il file non è un jpg ma un altra estensione (sempre immagine) lui me la faccia apparire, e sempre se possibile sarebbe COMODO che l'immagine venisse visualizzata selezionando la RIGA dell'articolo e non la CELLA col nome immagine, questo per semplificare la gestione del foglio facendo come riferimento al nome della foto ovviamente.

successivamente avrei necessità che si potesse aprire l'immagine se necessario, o cliccando sulla foto oppure in alternativa che mi generasse un collegamento ipertestuale per ogni foto in modo che vada ad aprirla.

vi allego i file di esempio , scusatemi se ho fatto una spiegazione confusionaria.. e grazie per l'aiuto che mi darete !!!
Post: 4.008
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
21/11/2017 13:19

prova questa senza mettere le estensioni
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("F2:F50")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
On Error Resume Next
ActiveSheet.Shapes(1).Delete
aleft = 650
atop = 40
w = 120
h = 120
myfolder = ThisWorkbook.Path & "\"
myfile = myfolder & Target & "*"
ffile = Dir(myfile)
If ffile = "" Then ffile = myfolder & "Img_non_disponibile.jpg"
Application.ActiveSheet.Shapes.AddPicture ffile, False, True, aleft, atop, w, h
End Sub
[Modificato da patel45 21/11/2017 13:20]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 26
Registrato il: 29/05/2015
Età: 35
Utente Junior
2007/2010/2013
OFFLINE
21/11/2017 15:31

Re:
avevo gia provato questa soluzione senza aver successo in quanto mettendo l'asterisco non funziona :(




patel45, 21/11/2017 13.19:

prova questa senza mettere le estensioni
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("F2:F50")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
On Error Resume Next
ActiveSheet.Shapes(1).Delete
aleft = 650
atop = 40
w = 120
h = 120
myfolder = ThisWorkbook.Path & "\"
myfile = myfolder & Target & "*"
ffile = Dir(myfile)
If ffile = "" Then ffile = myfolder & "Img_non_disponibile.jpg"
Application.ActiveSheet.Shapes.AddPicture ffile, False, True, aleft, atop, w, h
End Sub




Post: 4.009
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
21/11/2017 16:53

l'hai provata la mia ? a me funziona perfettamente

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 27
Registrato il: 29/05/2015
Età: 35
Utente Junior
2007/2010/2013
OFFLINE
21/11/2017 18:02

Re:
patel45, 21/11/2017 16.53:

l'hai provata la mia ? a me funziona perfettamente




si, ho provato ma risponde sempre errore, selezionando debug mi evidenzia in giallo questa sezione di codice

Application.ActiveSheet.Shapes.AddPicture myfile, False, True, aleft, atop, w, h
[Modificato da angeluskk 21/11/2017 18:03]
Post: 28
Registrato il: 29/05/2015
Età: 35
Utente Junior
2007/2010/2013
OFFLINE
21/11/2017 18:09

Re:
patel45, 21/11/2017 16.53:

l'hai provata la mia ? a me funziona perfettamente




Allora ho appena risolto impostandolo in questo modo

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("F2:F50")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
ActiveSheet.Shapes.SelectAll
aleft = 650
atop = 40
w = 120
h = 120
myfolder = ThisWorkbook.Path & "\"
myfile = myfolder & Target & ""
If Dir(myfile) = "" Then myfile = myfolder & "Img_non_disponibile.jpg"
Application.ActiveSheet.Shapes.AddPicture myfile, False, True, aleft, atop, w, h

End Sub


adesso riesce a selezionarmi il file con .jpg nella cella. ora rimane il problema che vorrei che in base alla RIGA del prodotto potesse seleizonarmi l'immagine e se possibile creare un collegamente ipertestuale per aprire la foto del prodotto per intero
Post: 29
Registrato il: 29/05/2015
Età: 35
Utente Junior
2007/2010/2013
OFFLINE
23/11/2017 09:06

qualcuno ha qualche idea? :( almeno solo il discorso di dare ad ogni nome del foto il collegamento ipertestuale alla foto corrispondente, altrimenti su 3mila articoli dovrei farlo a mano e diventa bibblico il lavoro [SM=x423047]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:53. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com