Discussione:
Selezione multipla da VBA
(troppo vecchio per rispondere)
Bruno Campanini
2008-02-14 07:27:50 UTC
Permalink
Con
Range("A10:A20", "C10:C20").Select
seleziono contemporaneamente e separatamente i due segmenti di colonna.

Se i due segmenti di colonna sono due Named Range (Ra1_, Ra2_), con
Range(Ra1_, Ra2_).Select
ottengo lo stesso risultato.

Se nel corso dell'elaborazione i due segmenti di colonna
sono rappresentati da:
PreviousColumn.Offset(, j1 - 1) e
CurrentColumn.Offset(, j2 - 1)

con:
Range(PreviousColumn.Offset(, j1 - 1) , CurrentColumn.Offset(, j2 -
1)).Select
ottengo la selezione del range A10:C20 e non la distinta selezione
di A10:A20 e C10:C20

Qualcuno mi sa indicare come ottenere invece contemporaneamente
le singole selezioni di A10:A20 e C10:C20?

Bruno
Tiziano Marmiroli
2008-02-14 09:18:48 UTC
Permalink
Post by Bruno Campanini
Range("A10:A20", "C10:C20").Select
seleziono contemporaneamente e separatamente i due segmenti di colonna.
"Separatamente"? Senza comprendere B10:B20? Da me non capita.
E mi sarei stupito del contrario:

|Range and Cells
|
|Use Range(cell1, cell2), where cell1 and cell2 are Range objects that
|specify the start and end cells, to return a Range object.


? Range("A10:A20", "C10:C20").Areas.Count
1

? Intersect(Range("B10"), Range("A10:A20", "C10:C20")) Is Nothing
Falso
--
Tiziano Marmiroli
Microsoft MVP - Office System
Bruno Campanini
2008-02-14 09:51:36 UTC
Permalink
Post by Tiziano Marmiroli
Post by Bruno Campanini
Range("A10:A20", "C10:C20").Select
seleziono contemporaneamente e separatamente i due segmenti di colonna.
"Separatamente"? Senza comprendere B10:B20? Da me non capita.
Ho sbagliato a riportare il codice:
Range("A10:A20, C10:C20").Select

Bruno
Ignazio
2008-02-14 09:27:11 UTC
Permalink
Post by Bruno Campanini
Con
Range("A10:A20", "C10:C20").Select
seleziono contemporaneamente e separatamente i due segmenti di colonna.
Se i due segmenti di colonna sono due Named Range (Ra1_, Ra2_), con
Range(Ra1_, Ra2_).Select
ottengo lo stesso risultato.
Se nel corso dell'elaborazione i due segmenti di colonna
PreviousColumn.Offset(, j1 - 1) e
CurrentColumn.Offset(, j2 - 1)
Range(PreviousColumn.Offset(, j1 - 1) , CurrentColumn.Offset(, j2 -
1)).Select
ottengo la selezione del range A10:C20 e non la distinta selezione
di A10:A20 e C10:C20
Qualcuno mi sa indicare come ottenere invece contemporaneamente
le singole selezioni di A10:A20 e C10:C20?
Ciao Bruno,
anche:
Range("A10:A20", "C10:C20").Select
seleziona A10:C20
Forse intendevi:
Range("A10:A20, C10:C20").Select

Cosa sono PreviousColumn e CurrentColumn?
Delle variabili di tipo Range?
Se ho compreso, dovresti usare:
Union(PreviousColumn.Offset(, j1 - 1), CurrentColumn.Offset(, j2 -
1)).Select
--
Ciao,
Ignazio
RIO: www.riolab.org
Bruno Campanini
2008-02-14 09:53:19 UTC
Permalink
Post by Ignazio
Ciao Bruno,
Range("A10:A20", "C10:C20").Select
seleziona A10:C20
Range("A10:A20, C10:C20").Select
Sì, intendevo questo!
Post by Ignazio
Cosa sono PreviousColumn e CurrentColumn?
Delle variabili di tipo Range?
Union(PreviousColumn.Offset(, j1 - 1), CurrentColumn.Offset(, j2 -
1)).Select
Ok, Union è la soluzione!
Tutto a posto, grazie.

Bruno

Loading...