Discussione:
Individuare le celle con il filtro attivo
(troppo vecchio per rispondere)
Roby36
2005-12-28 12:12:24 UTC
Permalink
Salve, ho una tabella con un filtro attivo. Potete aiutarmi nel trovare
il sistema per individuare le celle con il filtro attivo da VBA?
Esempio se volessi sapere il valore della prima cella del filtro come
devo fare? Chiaramente con Cells(1,1).value individuo il valore della
prima cella della tabella e non del filtro.

Grazie
Franz Verga
2005-12-28 12:51:06 UTC
Permalink
Post by Roby36
Salve, ho una tabella con un filtro attivo. Potete aiutarmi nel
trovare il sistema per individuare le celle con il filtro attivo da
VBA? Esempio se volessi sapere il valore della prima cella del filtro
come devo fare? Chiaramente con Cells(1,1).value individuo il valore
della prima cella della tabella e non del filtro.
Grazie
Se prima gli fai selezionare solo le celle visibili (puoi registrare una
macro che lo fa e riutilizzare il codice), con Cells(1,1).value individui la
prima cella in alto a sinistra dell'intervallo visibile, cioè la prima cella
delle intestazioni, per cui ti puoi regolare di conseguenza.

--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 13:32:47 UTC
Permalink
Ho provato ad effettuare la selezione delle celle e registrare la
macro, ma non funziona. Tu parli di selezionare solo le celle visibile,
e' diverso dal cliccare e trascinare smplicemente il mouse sulle celle
attive?

Grazie ancora

Roby
Franz Verga
2005-12-28 13:47:18 UTC
Permalink
Post by Roby36
Ho provato ad effettuare la selezione delle celle e registrare la
macro, ma non funziona. Tu parli di selezionare solo le celle
visibile, e' diverso dal cliccare e trascinare smplicemente il mouse
sulle celle attive?
Grazie ancora
Roby
Sì. Per selezionare le sole celle visibili, una volta filtrato l'elenco, vai
su menu Modifica, Vai..., Speciale..., seleziona "Solo celle visibili e dai
OK. Prova a registrare una macro mentre fai queste operazioni e poi potrai
utilizzare il codice risultante all'interno della tua macro.

--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 14:04:33 UTC
Permalink
Franz, ho provato, in effetti la procedura che mi hai indicato
seleziona solo le celle visibili, pero' se provo poi a visualizzare il
valore di una cella, ad esempio Msgbox(cells(2,2).value) il valore
visualizzato non e' quello della seconda riga/seconda colonna delle
celle visibili bensi' di quella della tabella. Forse sbaglio ancora
qualcosa?

TKS

Roby
Franz Verga
2005-12-28 14:15:20 UTC
Permalink
Post by Roby36
Franz, ho provato, in effetti la procedura che mi hai indicato
seleziona solo le celle visibili, pero' se provo poi a visualizzare il
valore di una cella, ad esempio Msgbox(cells(2,2).value) il valore
visualizzato non e' quello della seconda riga/seconda colonna delle
celle visibili bensi' di quella della tabella. Forse sbaglio ancora
qualcosa?
Purtroppo sì... prima di Msgbox(cells(2,2).value) gli devi dire with
selection e chiudere con end with, per cui il codice diventa, dopo il codice
che seleziona le sole celle visibili:

with selection
Msgbox(.cells(2,2).value)
end with

facendo attenzione al fatto che ho inserito un punto prima di cells, per far
capire al vba che voglio il valore contenuto nella cella che si trova
all'incrocio tra la seconda riga e la seconda colonna dell'intervallo
selezionato.

--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 14:34:47 UTC
Permalink
Franz, ho provato ma neanche funziona, questo e' il codice che ho
scritto (chiaramente sul foglio c'e' un filtro attivo):

Selection.SpecialCells(xlCellTypeVisible).Select
With Selection
MsgBox (.Cells(3, 2).Value)
End With

Ho provato anche a mettere ed a togliere il punto prima di cells.

Ciao Roby
Franz Verga
2005-12-28 14:45:42 UTC
Permalink
Post by Roby36
Franz, ho provato ma neanche funziona, questo e' il codice che ho
Selection.SpecialCells(xlCellTypeVisible).Select
With Selection
MsgBox (.Cells(3, 2).Value)
End With
Ho provato anche a mettere ed a togliere il punto prima di cells.
Ciao Roby
Probabilmente non selezioni la zona filtrata... Nel senso che perchè abbia
effetto l'istruzione Selection.SpecialCells(xlCellTypeVisible).Select devi
prima selezionare una cella all'interno della zona filtrata, altrimenti
seleziona le celle visibili di tutto il foglio...

Comunque, hai provato il codice postato da Norman, sembra abbastanza
illuminante...


--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 15:06:29 UTC
Permalink
Si infatti, ho fatto proprio cosi', prima dell'istruzione
Selection.SpecialCells(xlCellTypeVisible).Select ho selezionato una
cella qualsiasi ( cells(3,3).select ), ma neanche cosi' funge.
Ho dato un'occhiatina al codice postato da Norman, ma non mi e' molto
chiaro, sto cercando di capirci qualcosa in piu'. Se provo a farlo
girare su una tabella grande e' molto lento. Se riuscissi ad arrivarci
come mi stavi spiegando sarebbe veramente il max.

Grazie
Roby
Franz Verga
2005-12-28 15:18:37 UTC
Permalink
Post by Roby36
Si infatti, ho fatto proprio cosi', prima dell'istruzione
Selection.SpecialCells(xlCellTypeVisible).Select ho selezionato una
cella qualsiasi ( cells(3,3).select ), ma neanche cosi' funge.
Ma sei sicuro che la cella sia all'interno dell'elenco filtrato?
Perchè non provi l'esecuzione passo passo (si avvia con F8, ponendo prima il
cursore all'interno del testo della macro) in modo da capire cosa fa la
macro e perché?
Potresti provare a fare la stessa cosa con il codice di Norman...


--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 16:38:17 UTC
Permalink
Franz, quindi se ho capito bene dovrei fare in questo modo:

cells(3,3).select
Selection.SpecialCells(xlCellTypeVisible).Select
cells(row*,columns*).select
With Selection
MsgBox (.Cells(3, 2).Value) ' Visualizza la cella all'interno
della zona filtrata
End With

dove * indicano posizioni all'interno del filtro.

Giusto?

Ciao e Grazie
Franz Verga
2005-12-28 16:51:32 UTC
Permalink
Post by Roby36
cells(3,3).select
Selection.SpecialCells(xlCellTypeVisible).Select
cells(row*,columns*).select
With Selection
MsgBox (.Cells(3, 2).Value) ' Visualizza la cella all'interno
della zona filtrata
End With
dove * indicano posizioni all'interno del filtro.
Quello che intendevo dire è che la cella che selezioni inizialmente, cioè
quella che indichi come 3,3 nel codice postato sopra, deve trovarsi
all'interno della zona filtrata prima di poter selezionare le celle visibili
con Selection.SpecialCells(xlCellTypeVisible).Select.
Ora però m'è venuta un'idea...

Il seguente codice dovrebbe funzionare:

cells(3,3).CurrentRegion.SpecialCells(xlCellTypeVisible).Select
With Selection
MsgBox (.Cells(3, 2).Value) ' Visualizza la cella all'interno
della zona filtrata
End With

Sempre a patto che la cella 3,3, cioè C3 sia all'interno della zona
filtrata.





--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-28 21:05:12 UTC
Permalink
Franz ti ringrazio per la perseveranza nell'aiutarmi a risolvere il
problema. La questione principale è che non conosco a priori dove
possa trovarsi una cella nella zona filtrata. Provo descrivere a quale
scopo deve servire questo programma:

-Ho una tabella di coltre 30000 righe;
-Di queste righe devo processarne (prelevare dei valori per compilare
un'altra tabella) solo circa 200;
-Pertanto inizio il codice filtrando la tabella (ho registrato una
macro e poi l'ho utilizzata nel mio porgramma);
-A questo punto vorrei poter scorrere la tabella inziando dalla prima
riga (in effetti la seconda perchè la prima è l'intestazione del
filtro) fino all'ultima filtrata per poter prendermi per ogni riga i
valori delle celle che mi interessano.

Tutto quà, sicuramente avrei potuto fare in un altro modo, magari
scorrendo tutta la tabella, però visto che ho iniziato questo percorso
e visto che da quello che ho capito da voi (Tu e Norman), voi che mi
state aiutando, ciò è possibile, mi farebbe piacere riuscirci così

Ciao Roby
Franz Verga
2005-12-29 08:39:13 UTC
Permalink
Post by Roby36
Franz ti ringrazio per la perseveranza nell'aiutarmi a risolvere il
problema. La questione principale è che non conosco a priori dove
possa trovarsi una cella nella zona filtrata. Provo descrivere a quale
-Ho una tabella di coltre 30000 righe;
-Di queste righe devo processarne (prelevare dei valori per compilare
un'altra tabella) solo circa 200;
-Pertanto inizio il codice filtrando la tabella (ho registrato una
macro e poi l'ho utilizzata nel mio porgramma);
-A questo punto vorrei poter scorrere la tabella inziando dalla prima
riga (in effetti la seconda perchè la prima è l'intestazione del
filtro) fino all'ultima filtrata per poter prendermi per ogni riga i
valori delle celle che mi interessano.
Ecco il punto... Se selezioni una delle celle della riga di intestazione, il
codice di ieri non dovrebbe darti problemi, visto che le intestazioni sono
sempre visibili, qualunque sia il criterio di filtraggio

--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-29 09:00:15 UTC
Permalink
Franz ti riporto il pezzo di codice interessato in modo da essere piu'
preciso

Rows("1:1").Select
Selection.AutoFilter
' Effettuo il filtro per le righe che contengono STRINGA1 e
STRINGA2 nel campo Nome
'e STRINGA3 nel campo Cognome
Selection.AutoFilter Field:=7, Criteria1:="=*STRINGA1*",
Operator:=xlAnd, _
Criteria2:="=*STRINGA2*"
Selection.AutoFilter Field:=12, Criteria1:="=*STRINGA3*",
Operator:=xlAnd
'Annullo la selezione precedente
Cells(1, 1).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Cells(1, 1).Select
With Selection
MsgBox (.Cells(3, 2).Value)
End With

Neanche in questo modo visualizzo la cella nella tabella filtrata

Ciao
Franz Verga
2005-12-29 09:14:39 UTC
Permalink
Post by Roby36
Franz ti riporto il pezzo di codice interessato in modo da essere piu'
preciso
Rows("1:1").Select
Selection.AutoFilter
' Effettuo il filtro per le righe che contengono STRINGA1 e
STRINGA2 nel campo Nome
'e STRINGA3 nel campo Cognome
Selection.AutoFilter Field:=7, Criteria1:="=*STRINGA1*",
Operator:=xlAnd, _
Criteria2:="=*STRINGA2*"
Selection.AutoFilter Field:=12, Criteria1:="=*STRINGA3*",
Operator:=xlAnd
'Annullo la selezione precedente
Cells(1, 1).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Cells(1, 1).Select
With Selection
MsgBox (.Cells(3, 2).Value)
End With
Neanche in questo modo visualizzo la cella nella tabella filtrata
Ciao
In questo modo forse dovresti avere maggiore fortuna...

Rows("1:1").AutoFilter _
' Effettuo il filtro per le righe che contengono STRINGA1 e
STRINGA2 nel campo Nome
'e STRINGA3 nel campo Cognome
Field:=7, Criteria1:="=STRINGA1",
Operator:=xlAnd, _
Criteria2:="=STRINGA2"
Field:=12, Criteria1:="=STRINGA3",
Operator:=xlAnd
'Annullo la selezione precedente
Cells(1, 1).CurrentRegion.SpecialCells(xlCellTypeVisible).Select
With Selection
MsgBox (.Cells(3, 2).Value)
End With


--
Spero d'esserti stato d'aiuto...

Ciao

Franz Verga
Roby36
2005-12-29 09:46:32 UTC
Permalink
Franz, purtroppo nemmeno con currentregion il risultato e' cambiato.

Sigh
Norman Jones
2005-12-28 15:23:00 UTC
Permalink
Ciao Robo36,
Se provo a farlo girare su una tabella grande e' molto lento
Il codice suggerito è stato inteso soltanto come dimostrazione di alcuni
metodi di trattare un range d'autofilter.

Tuttavia, prova questa versione aggiornata;

'=============>>
Public Sub aTester2()
Dim Rng As Range
Dim Rng1 As Range
Dim Rng2 As Range
Dim rCell As Range
Dim CalcMode As Long

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Set Rng = ActiveSheet.AutoFilter.Range

Set Rng = Rng.Offset(1, 0). _
Resize(Rng.Rows.Count - 1, Rng.Columns.Count)

Set Rng1 = Rng.SpecialCells(xlCellTypeVisible)

MsgBox "Prima cella è: " & Rng1(1, 1).Address _
& vbNewLine _
& "Il suo valore è: " & Rng(1, 1).Value
MsgBox "Le celle filtrate si trovano a: " & Rng1.Address
Rng1.Cells.Font.Bold = True

Set Rng2 = Rng.Columns(2).SpecialCells(xlCellTypeVisible)

For Each rCell In Rng2.Cells
'fa qualcosa, e.g.:
With rCell
If .Value > 100 Then
.Interior.ColorIndex = 6
Else
.Interior.ColorIndex = 3
End If
End With
Next rCell

With Application
.Calculation = CalcMode
.ScreenUpdating = True
End With

End Sub
'<<=============

---
Regards,
Norman
Roby36
2005-12-28 16:35:14 UTC
Permalink
Norman, ti ringrazio per il codice, anche se faccio cfatica a
comprenderlo, provero' ad utilizzarlo per i miei scopi.

Ciao
Norman Jones
2005-12-28 16:56:12 UTC
Permalink
Ciao Roby36,
Post by Roby36
Norman, ti ringrazio per il codice, anche se faccio cfatica a
comprenderlo, provero' ad utilizzarlo per i miei scopi.
Se dovessi spiegare, dettagliatamente, i tuoi scopi, forse potrei adattare
il codice per te.

---
Regards,
Norman
Roby36
2005-12-28 21:13:04 UTC
Permalink
Norman, ringrazio anche te per il tempo che mi stai dedicando, come
scrivevo prima a Franz ti riporto lo scopo del programma:

-Ho una tabella di oltre 30000 righe;
-Di queste righe devo processarne (prelevare dei valori per compilare
un'altra tabella) solo circa 200;
-Pertanto inizio il codice filtrando la tabella (ho registrato una
macro e poi l'ho utilizzata nel mio porgramma), in modo da scartare
quelle che non mi interessano;
-A questo punto vorrei poter scorrere la tabella inziando dalla prima
riga (in effetti la seconda perchè la prima è l'intestazione del
filtro) fino all'ultima filtrata per poter prendermi per ogni riga i
valori delle celle che mi interessano.

Il codice che mi hai mandato è veramente interessate. Ti chiedo se
potresti darmi una breve spiegazione delle prime 3 istruzioni.

Grazie ancora per le preziose info

ciao Roby
Ciao Roby
Norman Jones
2005-12-28 21:52:25 UTC
Permalink
--
---
Regards,
Norman



"Roby36" <***@libero.it> wrote in message news:***@g47g2000cwa.googlegroups.com...
Norman, ringrazio anche te per il tempo che mi stai dedicando, come
scrivevo prima a Franz ti riporto lo scopo del programma:

-Ho una tabella di oltre 30000 righe;
-Di queste righe devo processarne (prelevare dei valori per compilare
un'altra tabella) solo circa 200;
-Pertanto inizio il codice filtrando la tabella (ho registrato una
macro e poi l'ho utilizzata nel mio porgramma), in modo da scartare
quelle che non mi interessano;
-A questo punto vorrei poter scorrere la tabella inziando dalla prima
riga (in effetti la seconda perchè la prima è l'intestazione del
filtro) fino all'ultima filtrata per poter prendermi per ogni riga i
valori delle celle che mi interessano.

Il codice che mi hai mandato è veramente interessate. Ti chiedo se
potresti darmi una breve spiegazione delle prime 3 istruzioni.

Grazie ancora per le preziose info

ciao Roby
Ciao Roby
Norman Jones
2005-12-28 22:07:21 UTC
Permalink
Ciao Roby,
Post by Roby36
-A questo punto vorrei poter scorrere la tabella inziando dalla
prima riga (in effetti la seconda perchè la prima è l'intestazione del
filtro) fino all'ultima filtrata per poter prendermi per ogni riga i
valori delle celle che mi interessano.
OK, non mi sembra difficile, ma dimmi, per favore:

(1) Quali valori - (per esempio Colonna A 100) ?

(2) Avendo preso i valori di interesse, che cosa vuoi fare?


---
Regards,
Norman
Roby36
2005-12-29 08:16:19 UTC
Permalink
I valori nelle seguenti colonne: A,G,L,O,P,AB,AF,AG,AS;
Vorrei popolare una nuova tabella.

Ciao
Norman Jones
2005-12-29 08:57:33 UTC
Permalink
Ciao Roby,
Post by Roby36
I valori nelle seguenti colonne: A,G,L,O,P,AB,AF,AG,AS;
Vorrei popolare una nuova tabella.
I dati per la nuova tabella dovrebbero essere selezionati secondo i valori
in colonna A?

Quale è l'ultima colonna della prima tabella?

---
Regards,
Norman
Roby36
2005-12-29 09:18:10 UTC
Permalink
Ciao Norman
Post by Norman Jones
I dati per la nuova tabella dovrebbero essere selezionati secondo i valori
in colonna A?

In effetti la cosa e' un pochino piu' complessa, perche' dovrei
verificare quale campo tra le colonne AB e AS contiene una determinata
stringa (facciamo ad esempio 'QWE') se ad esempio tale stringa e'
contenuta nella colonna AB ed il campo A e' diverso da 'Cancellazione',
allora devo prendere i valori del campo AB, O e P e portarli in una
nuova tabella, altrimenti se la stringa e' contenuta in AS devo
prendere i valori in AF,AG,AS sempre con il campo A diverso da
'Cancellazione'. Inoltre i valori dei Campi AB e AS sono ripetuti piu'
volte quindi quando il valore del campo viene trovato per la prima
volta viene aggiunto nella tabella nuova altrimenti, i valori dei campi
associati (O/P e AF/AG) vengono affiancati es della nuova tabella:

AB,AF O,P/AF,AG O,P/AF,AG O,P/AF,AG O,P/AF,AG

PIPPO 10,10 11,12 11,13
14,15
PLUTO 13,10 15,16 11,9
12,11
......
Post by Norman Jones
Quale è l'ultima colonna della prima tabella?
CA
Norman Jones
2005-12-29 10:24:52 UTC
Permalink
Post by Norman Jones
Post by Roby36
I valori nelle seguenti colonne: A,G,L,O,P,AB,AF,AG,AS;
Vorrei popolare una nuova tabella.
'------------------

Roby36 ha scritto:

Ciao Norman
Post by Norman Jones
I dati per la nuova tabella dovrebbero essere selezionati secondo i
valori in colonna A?
In effetti la cosa e' un pochino piu' complessa, perche' dovrei
verificare quale campo tra le colonne AB e AS contiene una determinata
stringa (facciamo ad esempio 'QWE') se ad esempio tale stringa e'
contenuta nella colonna AB ed il campo A e' diverso da 'Cancellazione',
allora devo prendere i valori del campo AB, O e P e portarli in una
nuova tabella, altrimenti se la stringa e' contenuta in AS devo
prendere i valori in AF,AG,AS sempre con il campo A diverso da
'Cancellazione'. Inoltre i valori dei Campi AB e AS sono ripetuti piu'
volte quindi quando il valore del campo viene trovato per la prima
volta viene aggiunto nella tabella nuova altrimenti, i valori dei campi
associati (O/P e AF/AG) vengono affiancati es della nuova tabella:

AB,AF O,P/AF,AG O,P/AF,AG O,P/AF,AG O,P/AF,AG

PIPPO 10,10 11,12 11,13
14,15
PLUTO 13,10 15,16 11,9
12,11
......
Post by Norman Jones
Quale è l'ultima colonna della prima tabella?
CA
'---------------------------------------

Ciao Roby,

Prova:
'=============>>
Public Sub Tester01()
Dim WB As Workbook
Dim SH1 As Worksheet
Dim SH2 As Worksheet
Dim rng As Range
Dim rngOut As Range
Dim rngTog As Range
Const sStr1 As String = "STRINGA1"
Const sStr2 As String = "STRINGA2"
Const sStr3 As String = "STRINGA3"

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Set WB = ActiveWorkbook '<<=== CAMBIARE

Set SH1 = WB.Sheets("Foglio1") '<<=== CAMBIARE
Set SH2 = WB.Sheets("Foglio2") '<<=== CAMBIARE

Set rng = SH1.Range("A1")

rng.AutoFilter Field:=7, _
Criteria1:="=*" & sStr1 & "*", _
Operator:=xlAnd, _
Criteria2:="=*" & sStr2 & "*"

rng.AutoFilter Field:=12, _
Criteria1:="=*" & sStr3 & "*"

Set rngOut = SH1.AutoFilter.Range. _
SpecialCells(xlCellTypeVisible)

SH2.Cells.Clear

rngOut.Copy SH2.Range("A1")

Set rngTog = SH2.Range("B1:F1,H1:K1,M1:N1,Q1:AA1," _
& "AC1:AE1,AH1:AR1,AT:CA")

rngTog.EntireColumn.Delete

With Application
.Calculation = CalcMode
.ScreenUpdating = True
End With

End Sub
'<<=============

Ma, poichè A1:CA30000 contiene 2,370,000 celle, niente accadrà molto
velocemente!

Forse, sarebbe adatto usare Access?

---
Regards,
Norman
Roby36
2005-12-29 11:43:09 UTC
Permalink
Norman, per capire il codice ho provato a lavorare su un foglio di
dimensioni ridotte, e adesso la cosa mi e' sicuramente piu' chiara. Ti
chiedo un' ultima (spero) cosa. Qual'e' lo scopo di queste linee di
codice.

With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

Grazie mille
Roby
Norman Jones
2005-12-29 12:08:36 UTC
Permalink
Ciao Roby36,
Qual'e' lo scopo di queste linee di codice.
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Uso il variabile CalMode per memorizzare il modo di calcolo
Per velocizzare il passaggio (l'elaborazione) del codice, si disabilita il
calcolo e l'aggionamento del monitor.

Poi, al fine del codice, uso:

With Application
.Calculation = CalcMode
.ScreenUpdating = True
End With

Lo scopo di questa e di restituire l'aggiornamento del monitor e il modo
memorizzato di calcolo.

---
Regards,
Norman

Norman Jones
2005-12-28 13:57:05 UTC
Permalink
Ciao Roby36,

Non so che cosa vorresti fare ma forse il seguente codice ti darà alcune
idee.

'=============>>
Public Sub aTester()
Dim Rng As Range
Dim Rng1 As Range
Dim Rng2 As Range
Dim rCell As Range

Set Rng = ActiveSheet.AutoFilter.Range

Set Rng = Rng.Offset(1, 0). _
Resize(Rng.Rows.Count - 1, Rng.Columns.Count)

Set Rng1 = Rng.SpecialCells(xlCellTypeVisible)

MsgBox "Prima cella è: " & Rng1(1, 1).Address _
& vbNewLine _
& "Il suo valore è: " & Rng(1, 1).Value
MsgBox "Le celle filtrate si trovano a: " & Rng1.Address
Rng1.Cells.Font.Bold = True

Set Rng2 = Rng.Columns(2).SpecialCells(xlCellTypeVisible)

For Each rCell In Rng2.Cells
'fa qualcosa, e.g.:
With rCell
If .Value > 100 Then
.Interior.ColorIndex = 6
Else
.Interior.ColorIndex = 3
End If
End With
Next rCell
End Sub
'<<=============

---
Regards,
Norman
Post by Roby36
Salve, ho una tabella con un filtro attivo. Potete aiutarmi nel trovare
il sistema per individuare le celle con il filtro attivo da VBA?
Esempio se volessi sapere il valore della prima cella del filtro come
devo fare? Chiaramente con Cells(1,1).value individuo il valore della
prima cella della tabella e non del filtro.
Grazie
Continua a leggere su narkive:
Loading...