Silvia seleziona diversi insiemi di celle, in modo tale da avere vari intervalli di celle non contigui selezionati. Se prova a copiare quelle celle usando Ctrl+C, Excel la informa che “Questa azione non funziona su selezioni multiple”. Silvia si chiede se esista un modo per copiare più intervalli non contigui e quindi incollarli in modo che le celle si trovino nella stessa posizione relativa della selezione originale.
Apparentemente, questa limitazione di consentire il copia e incolla solo di intervalli contigui è il modo in cui Excel è progettato per funzionare. L’unico modo per copiare e incollare intervalli non contigui consiste nell’utilizzare una macro, una che scorra ogni cella in una selezione e la incolli relativamente a un indirizzo di destinazione.
Quanto segue è un esempio di macro che copia il contenuto delle celle selezionate e lo incolla nella stessa posizione relativa che attualmente gli intervalli selezionati hanno rispetto alla cella A1 (come se la cella di destinazione che fornirai fosse la nuova cella A1):
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Per utilizzare la macro, crea semplicemente il tuo set di intervalli selezionati. Quindi, esegui la macro e specifica la cella di destinazione per incollare. Le celle vengono incollate rispetto a quella cella di destinazione nel foglio di lavoro corrente.
Si noti che la macro esegue un controllo degli errori molto limitato. Ad esempio, potresti inserire un indirizzo di cella di destinazione totalmente fasullo e la macro cercherà di soddisfare la tua richiesta (se l’indirizzo di destinazione è “troppo falso”, riceverai un messaggio di errore).
Come già detto, la macro precedente prende a riferimento la posizione relativa degli intervalli originali rispetto alla cella A1.
La seguente macro, invece, considera solo la posizione relativa degli intervalli tra di essi. Invece di copiare cella per cella, utilizza la Collection Areas di vba e copia ogni area o blocco contiguo della selezione in una volta sola: ovviamente è più veloce.
Questo contenuto è riservato agli abbonati
Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.
Se sei già abbonato Accedi per sbloccare il contenuto!
In caso contrario abbonati qui! L'abbonamento è conveniente.
E puoi interromperlo in ogni momento e in completa autonomia.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)