Vi leggo molto spesso e tantissime volte mi avete risolto problemi.
Vorrei però un aiuto su una macro che ho inserito all'interno di un fogli excel.
Utilizzando un codice, ovviamente trovato su questo forum, ho creato la seguente macro per inserimento automatico delle immagini.
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
ListaF = "C10:C12"
For Each Cella In Target
If Not Application.Intersect(Cella, Range(ListaF)) Is Nothing Then
On Error Resume Next
ActiveSheet.Shapes("FOTO_DA_" & Cella.Address(0, 0)).Delete
On Error GoTo 0
Cella.Select
If Dir("C:\Users\XXXXXXXX\xxxxxx\" & Cella.Text & ".jpg") = "" Then '<1
ActiveSheet.Pictures.Insert("C:\Users\XXXXXXXX\xxxxxx\image").Select '<2
Else
ActiveSheet.Pictures.Insert("C:\Users\XXXXXXXX\xxxxxx\" & Cella.Text & ".jpg").Select '<1
End If
Selection.Name = "FOTO_DA_" & Cella.Address(0, 0)
Selection.ShapeRange.Height = 79
If Selection.ShapeRange.Width > 150 Then
Selection.ShapeRange.Width = 150
End If
'PER POSIZIONARE L'IMMAGINE
Selection.ShapeRange.Left = Cella.Offset(0, 8).Left - Selection.ShapeRange.Width / 1 + Cella.Offset(0, 8).Width / 1
Selection.ShapeRange.Top = Cella.Offset(0, 0).Top - Selection.ShapeRange.Height / 1 + Cella.Offset(0, 8).Height / 1
Cella.Select
End Sub
In pratica in base ad una determinata selezione in una cella (nel mio caso C10, C11 o C12), la macro mi ripropone la corrispondente immagine in una ben precisata posizione rispetto alla cella di selezione.
E tutto sembra funzionare bene.
a questo punto vi chiedo:
1) è abbastanza pulito il codice? o si possono fare miglioramenti?
2) è possibile integrare il codice con una stringa che annulli semplicemente l'immagine in caso di selezione vuota? al momento excel va, giustamente, in errore non riuscendo ad identificare un'immagine corrispondente alla cella vuota.
spero di essere stato abbastanza chiaro
grazie mille
Fpas