Condividi:        

CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi dario_79 » 14/03/14 08:31

Ciao ragazzi, ho un problema con una macro.
Praticamente questa macro inserisce nella colonna b del foglio1 le immagini relative al contenuto delle cellle della colnna a. Siccome l'altezza della cella in colonna a può essere variabile, mentre, le dimensioni delle immagini sono fisse, come posso modificare la parte finale della seguente macro per far sì che le immagini vengano caricate al centro delle celle in colonna b???
PREMESSA: non sono bravo con VBA e questa macro l'ho trovata in un forum

Codice: Seleziona tutto
Sub InsImg()
Application.ScreenUpdating = False
ActiveSheet.Shapes.SelectAll
Selection.Delete
mPath = ActiveWorkbook.Path
r = 2 ' riga inizio prodotti
Lr = Range("A" & Rows.Count).End(xlUp).Row ' ultima riga da analizzare
For i = r To Lr
mFoto = Cells(i, 1)

If Len(mFoto & "") <> 0 Then ' se c'e' il nome prodotto
If Dir(mPath & "\" & mFoto & ".jpg") <> "" Then ' se la foto esiste
' inserisce foto e adatta a dimensioni cella/colonna B
With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg

.Top = Range("B" & i).Top + 5
.Left = Range("B" & i).Left + 5
.Height = Range("B" & i).Height - 10
.Width = Range("B" & i).Width - 10
End With
End If
End If
Next i
Application.ScreenUpdating = True

End Sub


GRAZIE
dario_79
Newbie
 
Post: 6
Iscritto il: 13/03/14 23:56

Sponsor
 

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi Anthony47 » 14/03/14 14:45

Ciao dario_79, benvenuto nel forum.
Da quello che vedo la macro gia' ridimensiona le immagini alla dimensione della cella e poi gia' cerca di centrarle con una cornice di 5 punti.
Potrebbe esserci qualche problema perche' quando imposti la larghezza (.Width) l' altezza viene ridimensionata per mantenere le proporzioni, con conseguente sbordo sulle celle sottostanti.

Dovresti chiarire come vuoi risolvere la faccenda:
-vuoi che le immagini possano distorcersi per rimanere entro la cella sia in larghezza che in altezza?
-vuoi che, impostata la larghezza dell' immagine alla larghezza della cella, l' altezza della cella si adegui all' altezza dell' immagine?
-altro?

Ciao, ti aspettiamo.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi dario_79 » 14/03/14 15:29

Ciao Anthony47 e ciao a tutti i forumisti.
Praticamente:
Celle della Colonna A : codice (elenco)
Celle della Colonna B : descrizione
Celle della Colonna C: immagine (che hanno dimensioni da me fissate)
La cella della colonna C sarà sempre più grande dell'immagine e le immagini avranno sempre dimensioni fisse.
Siccome l'altezza della cella può variare in funzione del contenuto della colonna B, allora vorrei che restasse lo stesso spazio tra bordo superiore cella/immagine e bordo inferiore cella/immagine (e lo stesso tra bordo dx e sx). Per com'è impostata adesso la macro mi posizione l'immagine in alto a sinistra (con la cornice di 5 punti)
PS : la colonna B del codice, in realtà è C

Spero mi posiate aiutare
Ciaooooooooooo
dario_79
Newbie
 
Post: 6
Iscritto il: 13/03/14 23:56

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi Anthony47 » 14/03/14 20:30

Allora, le colonne hanno una certa larghezza, ma una altezza variabile. Dopo aver dimensionato le immagini sulla larghezza della colonna, esse (le immagini) staranno "certamente" nell' altezza della colonna o no? Se Si, allora ho capito che vorresti avere una cornice simmetrica, cioe' alto=basso e sinistro=destro; se No, allora dovresti rispondere alla domanda fatta nel messaggio precedente.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi dario_79 » 14/03/14 21:19

La risposta è SI...
e ancora grazie per la pazienza
dario_79
Newbie
 
Post: 6
Iscritto il: 13/03/14 23:56

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi Anthony47 » 15/03/14 01:17

Allora prova a sostituire questo blocco
With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
.Top = Range("B" & I).Top + 5
.Left = Range("B" & I).Left + 5
.Height = Range("B" & I).Height - 10
.Width = Range("B" & I).Width - 10
End With
con questo:
Codice: Seleziona tutto
With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
.Left = Range("C" & I).Left + 5
.Width = Range("C" & I).Width - 10
myDiff = Range("C" & I).Height - .Height
.Top = Range("C" & I).Top + myDiff / 2
End With

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi dario_79 » 15/03/14 08:13

Ciao Anthony, purtroppo resta tutto come prima...
dario_79
Newbie
 
Post: 6
Iscritto il: 13/03/14 23:56

Re: CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI

Postdi dario_79 » 15/03/14 09:34

Anthony scusa per la risposta precedente...quello che avevi scritto funziona BENISSIMO... ero stato io a commettere un errore...Sei stato utilissimo GRAZIE GRAZIE GRAZIE
dario_79
Newbie
 
Post: 6
Iscritto il: 13/03/14 23:56


Torna a Applicazioni Office Windows


Topic correlati a "CENTRARE IMMAGINE IN CELLA DI DIMENSIONI VARIABILI":


Chi c’è in linea

Visitano il forum: Gianca532011 e 66 ospiti