Moderatori: Anthony47, Flash30005
FNomFile="C:\directory\subdirectory\Picture\" & Range("Y1").value
If Target.Addres <> "$Y$1" Then exit sub
Application.EnableEvents = False
On Error GoTo Exita
If Range("Z1").value <> "" then ActiveSheet.Shapes(Range("Z1").value).Delete 'Z1 = cella di servizio libera
Range("Z1").value = Selection.ShapeRange.Name 'Z1 = cella di servizio; modificare a piacere
Exita:
Application.EnableEvents = True
End Sub
Anthony47 ha scritto:Registra una macro mentre fai a mano l' operazione con una immagine qualsiasi del tuo elenco, poi posta il codice generato e lo modificheremo per attivare la macro quando inserisci un valore in A1.
Ciao.
Sub SettaRng()
Set rng = ThisWorkbook.Worksheets(1).Range("a1") '<< range del controllo
End Sub
Sub cancella_Pic()
Dim p As Picture
For Each p In rng.Parent.Pictures
If p.Name = "MiaImmagine" Then
p.Delete
End If
Next
End Sub
Private Sub Workbook_Open()
Dim rngA As Excel.Range
Set rngA = ActiveCell
SettaRng
Application.ScreenUpdating = False
With rng
If rngA.Parent.Name = .Parent.Name Then
.Value = .Value
rngA.Select
Else
.Parent.Activate
.Parent.Select
.Value = .Value
rngA.Parent.Activate
rngA.Parent.Select
rngA.Select
End If
End With
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Pic As Picture
Const x = 1
SettaRng
If Sh.Name = rng.Parent.Name Then
If Not Intersect(Target, rng) Is Nothing Then
If rng.Value = x Then
cancella_Pic
Set Pic = Sh.Pictures.Insert( _
"C:\1.jpg")
Pic.Left = rng.Offset(0, 1).Left
Pic.Top = rng.Offset(0, 1).Top
Pic.Name = "MiaImmagine"
Else
cancella_Pic
End If
End If
End If
End Sub
Anthony47 ha scritto:Hummm...
Controlla bene, perche' appena avvii "Registra nuova macro" ti viene preparata la macro con Sub NomeMacro() / End Sub; quindi non mi torna che non trovi nulla. Perdona il dubbio: ha avviato il registratore di macro? Menu , Strumenti /Macro /Registra nuova macro; qui esegui le operazioni tramire comandi excel; alla fine premi il bottone "Interrompi macro" (se ti si e' presentato all' avvio macro) oppure tramite Menu , Strumenti /Macro /Interrompi registrazione.
A questo punto, Alt-F8, ti si presenta l' elenco delle macro disponibili, click sul nome che hai registrato, premi Modifica e ti si aprira' l' editor delle macro col codice registrato.
Ciao.
Torna a Applicazioni Office Windows
Inserimento parziale valore cella in MessageBox Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 6 |
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Excel: problema con date se devo unirle a testi Autore: valle1975 |
Forum: Applicazioni Office Windows Risposte: 5 |
confrontare e evidenziare 2 fogli excel Autore: niccia |
Forum: Applicazioni Office Windows Risposte: 7 |
Visitano il forum: Nessuno e 25 ospiti