=============
=============
Come esempio, nel modulo del foglio
(vedi di sotto), incolla la seguente
routine:
'========>>
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim rng2 As Range
Dim rngData As Range
Dim rngCriteria As Range
Set rngData = Me.Range("myTable") '<<=== da CAMBIARE
Set rngCriteria = Me.Range("A1:B3") '<<=== da CAMBIARE
Set Rng = Intersect(rngData, Target)
Set rng2 = Intersect(rngCriteria, Target)
If Not Rng Is Nothing Or Not rng2 Is Nothing Then
rngData.AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=rngCriteria, _
Unique:=False
End If
End Sub
'<<========
Pert le miei prove ho utilizzato un intervallo
dinamico per definire la tabella dei dati da
filtrare. Pertanto ho inserito il nome definito
myTable che si riferisce alla formula:
=SCARTO(Foglio1!$A$5;0;0;CONTA.VALORI(Foglio1!$A:$A);2)
Quindi, myTable si riferisce ad una tabella
di due colonne ed un numero dinamico di
righe: ogni volta che si aggiunga una riga alla
tabella, l'intervallo definito dal nome MyTable
si estende automaticamente
---
Regards.
Norman
come sempre molto gentile.
ti ringrazio moltissimo.
Avrei voluto aggiungere:
Si tratta d una routine di evento Worksheet_Change.
Per utilizzarla, con il tasto destro del mouse fai click
sulla linguetta del foglio, scegli "Visualizza codice" e
nella finestra del codice incolla la routine.
Alt-F11 per tornare in Excel
Secondo la tua esigenza, il mio intervallo dinamico
puo essere sostituito con un intervallo fisso.
Se vuoi, potrei mandarti il mio file di prova,
in risposta ad una e-mail:
norman_jones@NOSPAMbtconnectDOTcom
(Cancella "NOSPAM" e sostituisci "DOT" con un punto)
---
Regards.
Norman