Condividi:        

Cancellazione forme

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

Cancellazione forme

Postdi aggittoriu » 01/02/23 14:58

Ciao.

Questo codice
Codice: Seleziona tutto
Sub Cancella_Forme_Range()

' Cancella tutte le forme in un certo intervallo di celle

Dim Sh As Shape
With Worksheets("Calcio_Partite")
   For Each Sh In .Shapes
       If Not Application.Intersect(Sh.TopLeftCell, .Range("B:BZ")) Is Nothing Then
          Sh.Delete
       End If
    Next Sh
End With
End Sub


mi cancella tutte le forme presenti nel range di colonne B:BZ. Solo che a volte funziona, mentre altre volte funziona ma mi da errore. E non capisco perchè.

La riga incriminata è:
Codice: Seleziona tutto
  If Not Application.Intersect(Sh.TopLeftCell, .Range("B:BZ")) Is Nothing Then

Mi dite esattamente cosa significa questa parte di codice?
aggittoriu
Utente Senior
 
Post: 161
Iscritto il: 24/06/14 08:49

Sponsor
 

Re: Cancellazione forme

Postdi Anthony47 » 01/02/23 15:35

Per la funzione Intersect, vedi https://learn.microsoft.com/en-us/offic ... .intersect
Per la proprieta' TopLeftCell, vedi https://learn.microsoft.com/it-it/offic ... opleftcell

Quindi quella istruzione dice: se il "topleft" della forma capita all'interno del range allora...

Il problema del codice e' che non tutte le Shapes hanno la proprieta' TopLeftCell; quindi se parli di immagini, aggiungi questo If /End If nel tuo codice:
Codice: Seleziona tutto
   For Each Sh In .Shapes
    If Sh.Type = msoPicture Then                 '<< If /End If aggiunti
        If Not Application.Intersect(Sh.TopLeftCell, .Range("B:BZ")) Is Nothing Then
           Sh.Delete
        End If
     End If
    Next Sh

Per l'elenco dei possibili valori di Sh.Type, vedi https://learn.microsoft.com/it-it/offic ... oshapetype
Avatar utente
Anthony47
Moderatore
 
Post: 19430
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Cancellazione forme

Postdi aggittoriu » 01/02/23 16:12

Ok. Grazie.
Inutile che guardi tutto, tanto non ci capisco niente. Userò direttamente il tuo codice. Al limite, se non va qualcosa, mi rifarò vivo. :D
aggittoriu
Utente Senior
 
Post: 161
Iscritto il: 24/06/14 08:49


Torna a Applicazioni Office Windows


Topic correlati a "Cancellazione forme":

cancellazione account
Autore: Anonymous
Forum: Forum off-topic
Risposte: 0
cancellazione account
Autore: Anonymous
Forum: Forum off-topic
Risposte: 4

Chi c’è in linea

Visitano il forum: Marius44 e 13 ospiti