Discussione:
Seleziona Righe multiple con VBA
(troppo vecchio per rispondere)
Massimo
2004-07-15 09:35:32 UTC
Permalink
Ciao ragazzi, ho una piccola difficoltà con una macro;
sotto una colonna ho un intervallo di celle che possono
essere vuote o con dati, io vorrei che, se la cella è
vuota allora mi si deve evidenziare l'intera riga della
cella stessa. Sono riuscito a scrivere il codice solo se
nell'intervallo c'è una sola cella vuota, ma se le celle
vuote sono più di una, non sò come dire al VBA di
selezionare più righe; mi potete aiutare? Vi ringrazio
infinitamente.
Maurizio Borrelli
2004-07-15 14:15:54 UTC
Permalink
"Massimo" <***@discussions.microsoft.com> ha scritto nel messaggio news:2ca9e01c46a4f$131f3730$***@phx.gbl...
sotto una colonna ho un intervallo di celle che possono
essere vuote o con dati, io vorrei che, se la cella è
vuota allora mi si deve evidenziare l'intera riga della
cella stessa. Sono riuscito a scrivere il codice solo se
nell'intervallo c'è una sola cella vuota, ma se le celle
vuote sono più di una, non sò come dire al VBA di
selezionare più righe

RISPOSTA:

Ciao, Massimo.

Spiacente, non ho capito. Tuttavia... considera la:

Property EntireRow As Range
sola lettura
Membro di Excel.Range
--
(Facci sapere se ed eventualmente come hai risolto. Grazie.)

Ciao :o)
Maurizio Borrelli, Microsoft MVP - Office Systems - Access
--------
?SPQR(C)
X
--------
Massimo
2004-07-16 06:20:01 UTC
Permalink
-----Messaggio originale---
sotto una colonna ho un intervallo di celle che possono
essere vuote o con dati, io vorrei che, se la cella è
vuota allora mi si deve evidenziare l'intera riga della
cella stessa. Sono riuscito a scrivere il codice solo se
nell'intervallo c'è una sola cella vuota, ma se le celle
vuote sono più di una, non sò come dire al VBA di
selezionare più righe
Ciao, Massimo.
Property EntireRow As Range
sola lettura
Membro di Excel.Range
--
(Facci sapere se ed eventualmente come hai risolto.
Grazie.)
Ciao :o)
Maurizio Borrelli, Microsoft MVP - Office Systems -
Access
--------
?SPQR(C)
X
--------
***********
Scusa Maurizio se ti rispondo solo stamani, cerco di
spiegarmi meglio:
Mettiamo che sotto la colonna "A" ho un intervallo di
celle, es Range("A1:A10") e le celle A2 A4 A8 sono vuote,
io vorrei che vengano selezionate le righe 2 4 e 8.
Ora, normalmente sul foglio di lavoro basta fare click
sulla riga 2 e con il tasto CTRL cliccare sulla riga 4 e
8.
Come si fà con il VBA a far fare questa selezione di più
righe non consecutive?
Spero di essere stato più chiaro, ti ringrazio per la
disponibilità, ciao.
.
Tiziano Marmiroli
2004-07-16 18:49:01 UTC
Permalink
Post by Massimo
Mettiamo che sotto la colonna "A" ho un intervallo di
celle, es Range("A1:A10") e le celle A2 A4 A8 sono vuote,
io vorrei che vengano selezionate le righe 2 4 e 8.
Ora, normalmente sul foglio di lavoro basta fare click
sulla riga 2 e con il tasto CTRL cliccare sulla riga 4 e
8.
Come si fà con il VBA a far fare questa selezione di più
righe non consecutive?
Se fai l'operazione in questione dopo aver attivato il registratore di
macro vedrai che corrisponde a:

Range("2:2,4:4,8:8").Select

Comunque direi che è meglio usare il metodo Union. Vedi, ad esempio, il
thread "Condizione per macro" dell'11 giugno
www.google.it/groups?threadm=***@4ax.com

Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office
a***@discussions.microsoft.com
2004-07-19 08:51:47 UTC
Permalink
-----Messaggio originale---
Post by Massimo
Mettiamo che sotto la colonna "A" ho un intervallo di
celle, es Range("A1:A10") e le celle A2 A4 A8 sono
vuote,
Post by Massimo
io vorrei che vengano selezionate le righe 2 4 e 8.
Ora, normalmente sul foglio di lavoro basta fare click
sulla riga 2 e con il tasto CTRL cliccare sulla riga 4
e
Post by Massimo
8.
Come si fà con il VBA a far fare questa selezione di
più
Post by Massimo
righe non consecutive?
Se fai l'operazione in questione dopo aver attivato il
registratore di
Range("2:2,4:4,8:8").Select
Comunque direi che è meglio usare il metodo Union. Vedi,
ad esempio, il
thread "Condizione per macro" dell'11 giugno
www.google.it/groups?
Facci sapere se e come hai risolto, grazie.
--
Tiziano Marmiroli
Microsoft MVP - Office
.
*************************
Grazie Tiziano della risposta, ho pensato di risolvere il
mio problema in questo modo:

Sub SelezionaRigheMultiple()
Cells(1,1).Select
For y = 65000 to 1 Step -1
If Cells(y,1) <> "" Then Exit For
Next
Set zona = Range(Cells(1,1), Cells(y,1))
For each Cl in zona
If Cl = "" Then
r = Cl.Row
a = a & Str(r) & ":" & r & ","
End if
Next
Righe = Mid(a,1,Len(a)-1)
Range(Righe).Select
End Sub

Ho visto la proprietà Union come mi hai suggerito tu ma
non ho capito molto bene come funziona e se può risolvere
il mio problema, pensi che possa funzionare meglio del
codice che ho scritto sopra?
Ti ringrazio, ciao.

Loading...