Condividi:        

Intervallo di selezione

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

Intervallo di selezione

Postdi cd7019 » 14/03/14 02:10

Ciao,

come posso risolvere questo problema:
se il mio intervallo di selezione è compreso nell'intervallo A1:Z100 allora posso eliminare queste righe.

if ...
Selection.EntireRow.Delete
end if

Grazie.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: Intervallo di selezione

Postdi Anthony47 » 14/03/14 14:41

Se vuoi verificare che tutta la selezione sia compresa in quel range allora potresti usare
Codice: Seleziona tutto
If Application.Intersect(Range("A1:Z1000"), Selection).Count = Selection.Count Then
    Selection.EntireRow.Select
End If

Collaudare su una copia dei tuoi importanti dati...

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

Re: Intervallo di selezione

Postdi cd7019 » 14/03/14 18:12

ciao,
ho eseguito una selezione all'interno dell'intervallo e funziona perfettamente, ma quando ho una selezione completamente al di fuori dell'intervallo mi genera un errore. "errore #91: variabile del blocco with non impostata".
Come posso eliminare tale errore?

Codice: Seleziona tutto
If Application.Intersect(Range("A14:V1000"), Selection).Count = Selection.Count Then
    Response = MsgBox("Sei sicuro di voler eliminare queste righe?", vbYesNo)
    If Response = vbYes Then
        Selection.EntireRow.Delete
        ActiveCell.Select
    End If
End If


Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: Intervallo di selezione

Postdi Anthony47 » 14/03/14 20:28

E' vero (e lo dice anche l' help on line...); devi quindi usare un artificio:
Codice: Seleziona tutto
Set iset = Application.Intersect(Range("A1:Z1000"), Selection)
If Not iset Is Nothing Then
'
'Il codice precedente
'
End If

Se dichiari la variabile iset essa deve essere "as Variant"

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

Re: Intervallo di selezione

Postdi scossa » 14/03/14 21:18

Una variante:

Codice: Seleziona tutto
Public Sub prova()
  Dim rngInt As Range
  Set rngInt = Application.Intersect(Range("A14:V1000"), Selection)
  If Not rngInt Is Nothing Then
    If rngInt.Address = Selection.Address Then
      With Selection
        If MsgBox("Sei sicuro di voler eliminare le righe " & .EntireRow.Address(0, 0) & "?", vbYesNo) = vbYes Then
          'Application.EnableEvents = False 'attivare se necessario
          .EntireRow.Delete
          ActiveCell.Select
          'Application.EnableEvents = True 'attivare se necessario
        End If
      End With
    End If
  End If
  Set rngInt = Nothing

End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: Intervallo di selezione

Postdi cd7019 » 14/03/14 21:46

Grazie a tutti x l'aiuto.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38


Torna a Applicazioni Office Windows


Topic correlati a "Intervallo di selezione":


Chi c’è in linea

Visitano il forum: danibi60 e 38 ospiti