| Pulsanti di Enrico 38 |
Ciao a tutti. i miei complimenti a mauro e a tutti
i collaboratori per il bellissimo sito. guardando il post di
elena20 , che poneva un quesito interessante, ho inserito anch’io un
grafico in un foglio excel per rappresentare alcuni dati utilizzando
il codice “add chart …ecc..†fin qui tutto bene. ho voluto
inserire, sullo stesso foglio, anche un pulsante (con gli strumenti
da disegno) cui ho associato una macro per il rinvio ad altro foglio
della cartella. il problema è che non riesco a “bloccare†le
dimensioni di questo pulsante così come le ho definite disegnandolo
sul foglio. mi spiego meglio. ogni volta che seleziono il foglio
dove ho inserito il grafico, il pulsante appare spropositatamente
più grande di come lo avevo disegnato in origine. perchè? c’è
qualcuno che può aiutarmi? --enrico
|
|
| di Enzo |
Se ho capito il tuo problema e se la mente non mi
inganna dovresti posizionarti sul pulsante cliccare con il destro
andare nelle proprieta' e li dovresti trovare dei flag dove uno dei
quali riguarda il pulsante ossia non si ridimensiona ne si sposta
nell'esecuzione delle macro prova e fa sapere
|
|
| Pulsanti di Ricky53 |
Ulteriori chiarimenti (sempre nell'ipotesi di aver
capito bene): ricordo che la barra strumenti “disegno†non ha
pulsanti ma rettangoli, ovali, forme varie. forse tu hai inserito un
“rettangoloâ€, qui i radio button per impedire il ridimensionamento
non sono attivi; oppure hai inserito un “pulsante†con la barra
“moduli†anche qui i radio button per impedire il ridimensionamento
non sono attivi. comunque operando come ti ha suggerito enzo si
risolve il problema (ho fatto una prova con il file del quesito di
elena20 al quale ho collaborato anch'io).
ti riepilogo i
passi: tasto destro mouse, “formato forme†(sei hai
utilizzato un rettangolo) o “formato controllo†(se hai utilizzato
un pulsante), proprietà, selezionare “sposta ma non
ridimensionare con le celle". se utilizzi un “pulsante†e’
consigliabile selezionare anche “stampa oggetto†altrimenti se
effettui una stampa il pulsante non viene stampato. buon lavoro
ciao, ricky53 |
|
| Per ricky53 ed enzo di
Enrico38 |
| Intanto un grazie di cuore ad entrambi voi per
l'interessamento. ho provato a seguire le indicazioni con scrupolo
ma il pulsante continua ad ingigantirsi e addirittura la sua
presenza sembra influenzare anche le dimensioni originali del
grafico (si rimpicciolisce). ad ogni buon conto, vi chiedo la
gentilezza di esaminare il file che vi mando nell'apposita sezione e
di provare ad inserire il pulsante senza modificare le dimensioni
originali del grafico. un grazie enorme sin da adesso.
--enrico |
|
| Pulsanti di Ricky53 |
Ciao enrico, ho scaricato il tuo file ed ho
verificato che nella macro “nuovo_grafico†tu vuoi ridimensionare il
grafico con la seguenti istruzioni:
activesheet.shapes(1).scalewidth 1.2, msofalse,
msoscalefrombottomright activesheet.shapes(1).scaleheight 1.2,
msofalse, msoscalefrombottomright
activesheet.shapes(1).scalewidth 1.2, msofalse,
msoscalefromtopleft activesheet.shapes(1).scaleheight 1.2,
msofalse, msoscalefromtopleft
ma fai riferimento alla
shapes(1) che è il pulsante. modifica in shapes(2) e vedrai che il
grafico si ingrandisce di 1.2 ed il pulsante rimane della stessa
dimensione. ciao ricky53
|
|
| X ricky53 di Enrico38 |
Ciao ricky! un particolare ringraziamento per
il tuo "risolutivo" e concreto intervento. ora funziona tutto
perfettamente. mi piacerebbe sapere con quale criterio vengono
attribuiti i numeri alle shapes. ciao, enrico. |
|
| Nomi shapes di
Ricky53 |
I nomi delle shapes vengono attributi in base al
loro inserimento nel foglio e la numerazione è progressiva ma
indipendente dal tipo, ossia ovali, rettangoli, ecc hanno un'unica
numerazione progressiva assoluta.
nel codice che ti invio
c'è una semplice macro che ti trova tutte le forme presenti in tutti
i fogli del tuo file xls che hai aperto. copia le istruzioni in
"thisworkbook" e lanciala. in alternativa al msgbox puoi
utilizzare
activeworkbook.worksheets(j).cells(i, 1) =
sh.name
attenzione scrive il nome delle forme nella prima
colonna di ogni foglio. ciao, ricky53
Sub Cerca_Forme()
Dim Forme As Range
j = 1
For j = 1 To Worksheets.Count
i = 1
Set Foglio = Worksheets(j)
For Each sh In Foglio.Shapes
MsgBox ("forma: " & sh.Name)
i = i + 1
Next
Next j
End Sub | |
|
| X ricky 53 di Enrico
38 |
Grazie, ricky, per le delucidazioni e per il
codice. alla prossima. ciao, enrico. |
|