Trasposizione VBA (passo dopo passo) - I 2 metodi migliori per trasporre in VBA

Abbiamo visto la funzione di trasposizione nel foglio di lavoro Excel quando incolliamo qualsiasi tabella di dati nel foglio di lavoro, ciò che traspone fa è che cambia la posizione di righe e colonne, cioè le righe diventano colonne e le colonne diventano righe in una tabella dati, ora poiché è un foglio di lavoro funzione in VBA la usiamo con il metodo Application.worksheet in VBA.

Come trasporre in VBA?

Il cambio di righe e colonne è una delle tecniche di manipolazione dei dati che quasi tutti gli utenti fanno in Excel. Il processo di conversione dei dati orizzontali in verticali e dei dati verticali in orizzontali è chiamato "Trasponi" in Excel. Sono sicuro che devi avere familiarità con la trasposizione in un normale foglio di lavoro. In questo articolo, ti mostreremo come utilizzare il metodo di trasposizione nella codifica VBA.

Possiamo trasporre in VBA usando due metodi.

  1. Trasponi usando TRANSPOSE Formula.
  2. Trasponi usando il metodo speciale Incolla.

Quando stiamo trasponendo, stiamo scambiando righe in colonne e colonne in righe. Ad esempio, se i dati sono in una matrice 4 X 3, diventa una matrice 3 X 4.

Vediamo alcuni esempi per trasporre da colonna a riga in VBA.

# 1 - VBA Transpose Using TRANSPOSE Formula

Come come usiamo TRANSPOSE in Excel allo stesso modo, possiamo usare la formula TRANSPOSE anche in VBA. Non abbiamo una formula TRANSPOSE in VBA, quindi dobbiamo usarla nella classe Funzione foglio di lavoro.

Ad esempio, guarda l'immagine dei dati di seguito.

Cercheremo di trasporre questo array di valori. Seguire i passaggi seguenti per trasporre i dati.

Passaggio 1: avviare la sottoprocedura.

Codice:

Sub Transpose_Example1 () End Sub

Passaggio 2: in primo luogo, dobbiamo decidere dove trasporre i dati. In questo, ho scelto di trasporre dalla cella D1 a H2. Quindi, inserisci il codice VBA come Range ("D1: H2"). Value =

Codice:

Sub Transpose_Example1 () Range ("D1: H2"). Value = End Sub

Passaggio 3: ora, nell'intervallo sopra indicato, abbiamo bisogno del valore dell'intervallo da A1 a B5. Per arrivare a questa classe aperta "Funzione foglio di lavoro" e selezionare la formula "Trasponi".

Passaggio 4: in Arg 1, fornire l'intervallo dell'origine dati, ovvero Intervallo ("A1: D5") .

Codice:

Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub

Ok, abbiamo finito con la codifica della formula TRANSPOSE. Ora esegui il codice per vedere il risultato nell'intervallo di celle da D1 a H2.

Come abbiamo visto nell'immagine sopra, ha convertito l'intervallo di celle da colonne a righe.

# 2 - Trasposizione VBA utilizzando il metodo speciale Incolla

Possiamo anche trasporre usando il metodo Incolla speciale. Considera gli stessi dati anche per questo esempio.

La prima cosa che dobbiamo fare per trasporre è copiare i dati. Quindi scrivi il codice come Range ("A1: B5")

Codice:

Sub Transpose_Example2 () Range ("A1: B5"). Copia End Sub

Il passo successivo è decidere dove incollare i dati. In questo caso, ho scelto D1 come cella di destinazione desiderata.

Codice:

Sub Transpose_Example2 () Intervallo ("A1: B5"). Copia intervallo ("D1"). End Sub

Una volta selezionata la cella di destinazione desiderata, dobbiamo selezionare "Incolla metodo speciale".

Con paste speciali, possiamo eseguire tutte le azioni che abbiamo con normali metodi incolla speciali in un foglio di lavoro.

Ignora tutti i parametri e seleziona l'ultimo parametro, cioè Transpose, e rendilo TRUE.

Codice:

Sub Transpose_Example2 () Range ("A1: B5"). Copia intervallo ("D1"). PasteSpecial Transpose: = True End Sub

Questo trasporrà anche i dati come il metodo precedente.

In questo modo, possiamo utilizzare la formula TRANSPOSE o il metodo Incolla speciale per trasporre i dati per passare da righe a colonne e da colonne a righe.

Cose da ricordare

  • Se stiamo utilizzando la funzione TRANSPOSE del foglio di lavoro, è obbligatorio calcolare un numero di righe e colonne per trasporre i dati. Se abbiamo 5 righe e 3 colonne, durante la trasposizione diventa 3 righe e 5 colonne.
  • Se desideri la stessa formattazione mentre utilizzi paste special, devi utilizzare l'argomento Paste Type come "xlPasteFormats".

Puoi scaricare questo modello VBA Transpose Excel da qui - VBA Transpose Excel Template.

Articoli interessanti...