Oggetto Shape e Shapes
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Argomenti correlati
 
Esempi di utilizo nel codice di:
Gli Shapes sono un insieme abbastanza eterogeneo di "forme" che si possono trovare su di un foglio di Excel.
Alcuni dei possibili (quelli di utilizzo più comune) li potete vedere nella tabella sotto
MsoShapeTypeValoreDescrizione
msoAutoShape1Forme preimpostate come rettangoli, frecce, diagrammi di flusso
msoLine9Linea semplice
msoFreeform5Disegno a mano libera
msoGroup6Gruppo di Shape
msoChart3Grafico
msoPicture13Immagine
msoIgxGraphic24Diagrammi SmartArt
msoFormControl8Controlli delle form come pulsanti, dropdown...
msoTextBox17Casella di testo

Le forme sono molto comode per rappresentare graficamente l'avanzamento di un processo, come nel caso di un diagramma di flusso, o per creare una "grafica" del foglio non legata al reticolo delle celle in riga e colonna, oppure ancora per rappresentare i dati su di una carta geografica.
E' possibile creare le forme da codice ma la cosa di certo più semplice é quella di crearle manualmente utilizzando i comandi di Excel, in questo caso ad ogni forma viene assegnato un nome che identifica il tipo di oggetto seguito da un numero progressivo, avremo quindi nomi di forme come: "Rectangle 1","Rectangle 2","Oval 2".
Per cambiare nome ad una forma inserita:
Da Menù: Home --> Trova e seleziona --> Riquadro di selezione
Volendo trovare il nome e il tipo di tutte le forme presenti sul foglio possiamo utilizzare una macro come questa, riporta nome sulla colonna A e tipo sulla colonna B:
Sub NomeShape()
  Set Fa = ActiveSheet
  r = 2 ' elenco dalla riga 2
  For Each Shp In Fa.Shapes
    Cells(r, 1) = Shp.Name ' nome sulla colonna A
    Cells(r, 2) = Shp.Type ' tipo sulla colonna B
    r = r + 1
    
    ' nel caso di gruppo di forme ne scorre il dettaglio
    If (Shp.Type = msoGroup) Then
      For Each Shp1 In Shp.GroupItems
        Cells(r, 1) = Shp.Name & "-" & Shp1.Name
        Cells(r, 2) = Shp1.Type
        r = r + 1
      Next Shp1
    End If
  Next Shp
End Sub
 

data4idea srls - PIva 01881000937 - info@data4idea.it