Vediamo di fare qualcosa...
Prova questa macro:
- Codice: Seleziona tutto
Sub Renew()
Dim mPath As String, LogoFile As String, Posiz, cPic, LogoAlt As Long
Dim PosizStd As String
'
mPath = "C:\Users\user01\Pictures" '<<< Il Percorso in cui si trova il file logo
LogoFile = "wandg_40.jpg" '<<< Il nome del file "logo"
LogoAlt = 300 '<<< L'altezza del logo; se 0 viene usata la dimensione originale
PosizStd = "B2" '<<< La posizione di default per il logo
'
'Cancella l'eventuale immagine selezionata:
If TypeName(Selection) = "Picture" Then
Selection.Delete
End If
'
On Error Resume Next
ActiveSheet.Shapes("ZcZcA_Logo_").Delete
Set Posiz = Application.InputBox("Seleziona la cella in cui inserire l'immagine", "Destinazione?", PosizStd, , , , , 8)
On Error GoTo 0
If TypeName(Posiz) = "Range" Then
If Posiz.Value = "" Then Posiz.Value = "Spazio per il Logo Aziendale: Pippo Spa, Trieste" '***
Set cPic = ActiveSheet.Shapes.AddPicture(mPath & "\" & LogoFile, True, False, _
Posiz.Left, Posiz.Top, True, True)
cPic.LockAspectRatio = msoTrue
cPic.Placement = xlFreeFloating '+++ Non spostare ne' ridimensionare con le celle
' cPic.Placement = xlMove '+++ Sposta ma non ridimensionare con le celle
If LogoAlt > 0 Then cPic.ScaleHeight (LogoAlt / cPic.Height), msoTrue
cPic.Name = "ZcZcA_Logo_"
Else
MsgBox ("Nessuna operazione eseguita")
End If
End Sub
Va messa in un "modulo standard del vba" di file diverso dai file da modificare, ad esempio il file Personal.xls (inteso come il file che si apre automaticamente in modo nascosto all'apertura di Excel; se non hai un file "Personal" ti insegnero' come crearlo), oppure un qualsiasi altro file che andra' aperto manualmente.
Le istruzioni marcate <<< sono da personalizzare come da commenti.
L'istruzione marcata *** inserisce una scritta nella cella di destinazione, se la cella e' vuota; ovviamente l'operazione e' facoltativa e la scritta va modificata.
Le istruzioni marcate +++ sono alternative, e impostano due diversi comportamenti dell'immagine, come da commenti; scegli tu quale mantenere, e l'altra la puoi cancellare o meglio puoi "commentarla" (inserendo un "apostrofo" a inizio riga in modo che se cambi idea ce l'hai gia' a disposizione).
All'occorrenza poi bisogna aprire il file da modificare, cancellare il logo esistente, e avviare la macro.
La macro chiedera' di selezionare la cella di destinazione e vi inserira' il file specificato; eventualmente fa un resize in altezza (la larghezza sara' calcolata di conseguenza, avendo impostato "non distorcere l'immagine"); infine all'immagine viene assegnato un nome particolare, che potrebbe essere usato per operazioni future
La macro non salva automaticamente il nuovo file, quindi se il risultato non va bene basta chiudere il file senza salvarlo.
In tutto questo discorso non hai detto quale versione di Excel usi; se hai XL2007 o superiore puoi facilmente aggiungere una icona nella "Barra di accesso rapido" da associare alla Sub Renew (per questo meglio che sia in Personal.xls); vedi l'help on line di Excel alla voce "Personalizzare la barra di accesso rapido".
Prova e fai sapere...
keywords
Inserisci immagine foglio excel linkata link inserisci e modifica logo aziendale
link image excel worksheet sheet