Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Excel 2007 - estrarre il nome di una immagine

  1. #1
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    In un foglio di lavoro carico dinamicamente in alcune celle delle immagini al variare di un valore della combobox

    se in una cella accanto a quella della immagine volessi riprodurre il nome della immagine (sempre in modo dinamico) come si pu fare?

    Grazie.


    p.s. le immagine che prelevo sono inserite in un foglio

  2. #2
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    come inserisci le immagini?

    saluti

  3. #3
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao dodo, le immagini sul foglio sono inserite da menu inserisci
    invece nella cella foglio scelte da combobox
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim picName As String, celImage As String
    
      picName = vbNullString
      On Error Resume Next
      If Target.Address = "$A$2" Then
        picName = Target.Value
        celImage = "D2"
        ActiveSheet.Shapes("Immagine" & celImage).Delete
    

  4. #4
    L'avatar di dodo47
    dodo47 non  in linea Topo di biblioteca
    Post
    3,107
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao
    premesso che non ho capito cosa fa quella macro, ti sottopongo un codice che stampa in debug il nome di tutte le immagini di un foglio, da adattare alle tue esigenze:
    ...
    Dim Sh As Shape
    Dim i As Long
    For Each Sh In Sheets("Foglio1").Shapes
        Debug.Print Sh.Name
    Next Sh
    ...
    
    saluti

  5. #5
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao Dodo, mi spiego

    con questo codice
    Dim picName As String, celImage As String
    
      picName = vbNullString
      On Error Resume Next
      If Target.Address = "$A$2" Then
        picName = Target.Value
        celImage = "D2"
        ActiveSheet.Shapes("Immagine" & celImage).Delete
    
    Inserisco nel foglio 2 nella cella D2 una immagine che seleziono da una combox che si trova in A2.
    Adesso, vorrei che nella E2 mi inserisca anche il nome della immagine.
    Tutte le immagini sono inserite nel foglio1

  6. #6
    ricky53 non  in linea Scribacchino
    Post
    1,023
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,
    Foglio1 o Foglio2 ???
    Utilizza la scelta fatta sulla combobox, quella che hai selezionato per scegliere l'immagine ed avrai il nome dell'immagine dove vuoi (il nome dell'immagine lo hai gi visto che lo usi per inserire l'immagine !!!)

    Se non riesci invia tutto il codice che utilizzi per selezionare e inserire l'immagine.
    ℹ️ Leggi di pi su ricky53 ...

  7. #7
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Questo il codice completo
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim picName As String, celImage As String
    
      picName = vbNullString
      On Error Resume Next
      If Target.Address = "$A$1" Then
        picName = Target.Value
        celImage = "D1"
        
    
        
        ActiveSheet.Shapes("Immagine" & celImage).Delete
    
      ElseIf Target.Address = "$A$13" Then
        picName = Target.Value
        celImage = "C13"
        
        ActiveSheet.Shapes("Immagine" & celImage).Delete
      End If
      On Error GoTo 0
    
      '---------- visualizza immagine
      If Len(picName) Then
        Sheets("Citt").Shapes(picName).Copy
        Me.Range(celImage).Select
        Me.Paste
        Selection.ShapeRange(1).Name = "Immagine" & celImage
      End If
    
      Target.Select
    
      End Sub
    
    Ma non so come fargli prendere il nome ed inserirlo nella cella E2 del Foglio2

  8. #8
    ricky53 non  in linea Scribacchino
    Post
    1,023
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,
    e la ComboBox? In quale foglio si trova? E in quale cella ?
    Questa macro "Worksheet_Change" in quale foglio si trova ?

    Dal codicie, un po' confuso per l verit, forse in "picName c' il nome dell'immagine, quindi, in "E2" potresti scrivergli questo nome ... ma meglio controllare eseguendo la macro con il tasto "F8" dopo aver messo un "punto di interruzione" con "F9" all'inizio del codice, ossia su
    picName = vbNullString
    
    Se non riesci allora devi inviarci un file di esempio ma attenzione ai dati riservati.
    ℹ️ Leggi di pi su ricky53 ...

  9. #9
    L'avatar di Codice_da_Vinci
    Codice_da_Vinci non  in linea Scolaretto
    Post
    345
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da ricky53 Visualizza il messaggio
    Ciao,
    e la ComboBox? In quale foglio si trova? E in quale cella ?
    Foglio 2 Cella A1
    Questa macro "Worksheet_Change" in quale foglio si trova ?
    Foglio2

    Purtroppo da codice non riesco a venirne capo

  10. #10
    ricky53 non  in linea Scribacchino
    Post
    1,023
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,
    allora resta solo il file.

    Inviacelo e ... arriveremo a risolvere !!!


    Ti sarai reso conto che abbiamo scritto e riscritto senza arrivare a nulla.
    Cerca di essere pi attento (Vedi il caso di Foglio1 e Foglio2 ... avevi confuso le cose)


    La precisione FONDAMENTALE !!!

    Quando scrivi e non si capisce quello che chiedi =====>> segue che NECESSARIO inviare UN FILE !!!




    Comunque prova in questo modo
    dopo l'istruzione
        Selection.ShapeRange(1).Name = "Immagine" & celImage
    
    Inserisci le seguenti
        
        With ActiveSheet.Shapes("Immagine" & celImage)
            .Top = Range(celImage).Top ' + 5 se vuoi spostare dal bordo superiore della cella l'immagine
            .Left = Range(celImage).Left ' + 5 se vuoi spostare dal bordo sinistro della cella l'immagine
        End With
        Application.EnableEvents = False
        Me.Range("E2") = "Immagine" & celImage
        Application.EnableEvents = True
    
    Prova e ...
    poi rimane, senza file, solo la Madonna di Lourdes (... con tutto il rispetto)
    Ultima modifica di ricky53; 06-02-2014 00:20 
    ℹ️ Leggi di pi su ricky53 ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Risposte: 4
    Ultimo Post: 22-03-2019, 18:39
  2. Excel 2007 collegamento su nome foglio variabile
    Da Codice_da_Vinci nel forum Microsoft Excel
    Risposte: 14
    Ultimo Post: 11-01-2015, 13:16
  3. [VB2010] Scaricare immagine da sito noti ID o nome immagine
    Da paolo83 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 12-09-2012, 13:38
  4. Risposte: 3
    Ultimo Post: 13-06-2011, 21:03
  5. VB6 excel 2007 inserire una immagine da link http
    Da Tiziano nel forum Microsoft Excel
    Risposte: 0
    Ultimo Post: 19-10-2010, 21:46