Szilvia può creare un insieme di selezione di celle, in modo tale da avere un intervallo di celle non contiguo selezionato. Se prova a copiare quelle celle utilizzando Ctrl + C, Excel la informa che “questa azione non funzionerà su più selezioni”. Szilvia si chiede se esiste un modo per copiare un intervallo non contiguo e quindi incollare quell’intervallo in modo che le celle si trovino nella stessa posizione relativa della selezione originale.

Apparentemente, questa limitazione di consentire solo di copiare e incollare intervalli contigui è il modo in cui Excel è progettato per funzionare. L’unico modo per copiare e incollare un intervallo non contiguo è utilizzare una macro, una macro che passi attraverso ogni cella di una selezione e la incolli rispetto a un indirizzo di destinazione. Quello che segue è un esempio:

Sub CopyPasteCells()

Dim sTemp As String     Dim sTarget As String     Dim c As Range     Dim pasteRng As Range

sTemp = InputBox("Target cell?")

sTarget = Trim(sTemp)

If sTarget > "" Then         Set pasteRng = ActiveSheet.Range(sTarget)

For Each c In Selection             c.Copy             pasteRng.Range(c.Address).PasteSpecial xlPasteValues         Next     End If     Application.CutCopyMode = False End Sub

Per utilizzare la macro, crea semplicemente il tuo gruppo di selezione di celle. 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 pochissimi controlli degli errori. 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 fasullo, riceverai un messaggio di errore.)

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (5228) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.