Come trasporre un intervallo in vba (con esempio)


È possibile utilizzare la seguente sintassi di base per trasporre un intervallo utilizzando VBA:

 SubTransposeRange ()

    'specify range to transpose
    MyRange = Range(" A1:B5 ")
    
    'find dimensions of range
    XUpper = UBound(MyRange, 1)
    XLower = LBound(MyRange, 1)
    YUpper = UBound(MyRange, 2)
    YLower = LBound(MyRange, 2)
    
    'transpose range
    Range(" D1 ").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
      WorksheetFunction.Transpose(MyRange)
      
End Sub

Questo particolare esempio trasporrà le celle nell’intervallo A1:B5 e visualizzerà l’intervallo trasposto a partire dalla cella D1 .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: come trasporre un intervallo in VBA

Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su vari giocatori di basket:

Diciamo che vogliamo trasporre l’intervallo A1:B5 e visualizzare l’intervallo trasposto a partire dalla cella D1 .

Per fare ciò possiamo creare la seguente macro:

 SubTransposeRange ()

    'specify range to transpose
    MyRange = Range(" A1:B5 ")
    
    'find dimensions of range
    XUpper = UBound(MyRange, 1)
    XLower = LBound(MyRange, 1)
    YUpper = UBound(MyRange, 2)
    YLower = LBound(MyRange, 2)
    
    'transpose range
    Range(" D1 ").Resize(YUpper - YLower + 1, XUpper - XLower + 1).Value = _
      WorksheetFunction.Transpose(MyRange)
      
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Tieni presente che l’intervallo trasposto viene visualizzato a partire dalla cella D1 .

In altre parole, le righe e le colonne sono invertite.

Per trasporre un intervallo diverso, sostituisci semplicemente A1:B5 nella macro con un intervallo diverso.

Nota : qui è possibile trovare la documentazione completa per il metodo VBA Transpose .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come contare le celle con testo specifico
VBA: come contare il numero di righe nell’intervallo
VBA: come scrivere le funzioni COUNTIF e COUNTIFS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *