Excel VBA per creare una tabella da un intervallo (6 esempi)

  • Condividi Questo
Hugh West

Mentre si lavora con Microsoft Excel Le tabelle di Excel ci permettono di ordinare e filtrare rapidamente i dati, di aggiungere nuovi record e di aggiornare istantaneamente grafici e tabelle pivot. Excel VBA aiuta l'utente a personalizzare l'applicazione con alcuni semplici codici. In questo articolo, vedremo alcuni esempi di Excel VBA per creare una tabella dall'intervallo.

Scarica il quaderno di esercizi

Potete scaricare il libro di lavoro ed esercitarvi con loro.

Crea tabella da Range.xlsm

6 esempi di Excel VBA per creare una tabella da un intervallo

Le tabelle sono nate come elenchi nell'edizione a menu di Excel, ma sono cresciute di funzionalità nelle varianti della barra multifunzione. La conversione di un intervallo di dati in una tabella amplia le capacità, consentendo di lavorare in modo più rapido e semplice. convertire l'intervallo in una tabella utilizzando VBA è il modo più semplice rispetto all'uso del nastro.

Supponiamo di avere un semplice set di dati che contiene alcuni elementi nella colonna B , la quantità di questi articoli nella colonna C e le vendite totali per ogni articolo nella colonna D Ora vogliamo convertire l'intervallo di dati in una tabella. Mostriamo diversi esempi e istruzioni passo-passo per creare una tabella da un intervallo B4:D9 con Excel VBA.

Utilizzo ListObjects.Add per trasformare un intervallo in una tabella di Excel. L'oggetto Foglio di calcolo ha una caratteristica Oggetti elenco . Oggetti elenco ha una tecnica chiamata Aggiungi I criteri per .Aggiungi sono i seguenti.

espressione .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

E utilizzare il tipo di sorgente xlSrcRange .

1. Excel VBA per generare una tabella dall'intervallo

Con Excel VBA gli utenti possono facilmente utilizzare il codice che agisce come menu di excel dalla barra multifunzione. Per utilizzare il codice VBA per generare una tabella dall'intervallo, seguiamo la procedura.

FASI:

  • In primo luogo, andare alla pagina Sviluppatore dalla barra multifunzione.
  • In secondo luogo, dal Codice categoria, fare clic su Visual Basic per aprire il Editor Visual Basic . Oppure premere Alt + F11 per aprire il Editor Visual Basic .
  • Invece di fare questo, si può semplicemente fare clic con il tasto destro del mouse sul foglio di lavoro e andare su Visualizza il codice Questo vi porterà anche a Editor Visual Basic .

  • Questo apparirà nella schermata Editor Visual Basic dove scriviamo i nostri codici per creare una tabella dall'intervallo.
  • In terzo luogo, fare clic su Modulo dal Inserire barra dei menu a discesa.

  • In questo modo si creerà un Modulo nella cartella di lavoro.
  • Copiare e incollare il file VBA codice mostrato di seguito.

Codice VBA:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Dopodiché, eseguire il codice facendo clic sul pulsante RubSub o premendo la scorciatoia da tastiera F5 .

Non è necessario modificare il codice, basta cambiare l'intervallo in base alle proprie esigenze.

  • E, infine, seguendo i passaggi si creerà una tabella dall'intervallo B4:D9 .

Spiegazione del codice VBA

 Sub Crea_tabella() 

Sub è una parte di codice che viene utilizzata per gestire il lavoro nel codice ma non restituisce alcun valore. È anche conosciuta come sottoprocedura. Quindi chiamiamo la nostra procedura Crea_Tabella() .

 Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Tabella1" 

Questa è la linea di codice principale con cui l'intervallo viene convertito in tabella. Come già sappiamo, l'intervallo viene convertito in tabella. ListObjects.Add per trasformare un intervallo in una tabella di Excel. E usiamo xlSrcRange come tipo di sorgente. Inoltre, dichiariamo il nostro intervallo Intervallo("B4:D9") E infine, nominare la nostra tabella come Tabella1 .

 Fine Sub 

In questo modo si conclude la procedura.

Per saperne di più: Come aggiornare l'intervallo della tabella Pivot (5 metodi adatti)

2. Costruire una tabella da un intervallo utilizzando Excel VBA

Vediamo un altro esempio di costruzione di una tabella da un intervallo utilizzando Excel VBA.

FASI:

  • Per prima cosa, andare alla pagina Sviluppare r dalla barra multifunzione.
  • In secondo luogo, fare clic su Visual Basic per aprire il Editor Visual Basic .
  • Un altro modo per aprire il file Editor Visual Basic è semplicemente premere Alt + F11 .
  • Oppure, fare clic con il tasto destro del mouse sul foglio, quindi selezionare Codice .
  • Successivamente, andare a Inserire e selezionare Modulo dal menu a discesa.
  • Si aprirà la finestra di Visual Basic.
  • Successivamente, copiare e incollare il file Codice VBA di seguito.

Codice VBA:

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • Inoltre, premere il tasto Tasto F5 o fare clic sul pulsante Esegui Sub per eseguire il codice.

  • Si otterrà il risultato mostrato nella figura seguente Metodo 1 .

Spiegazione del codice VBA

 Dim tb2 As Range Dim wsht As Worksheet 

Il DIM dichiarazione in VBA si riferisce a " dichiarare, " e deve essere usato per dichiarare una variabile. Quindi, dichiariamo il nostro intervallo a tb2 e foglio di lavoro a ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Set ci consente semplicemente di evitare di dover digitare più volte l'intervallo da selezionare durante l'esecuzione del codice. Quindi, impostiamo l'intervallo sulla regione corrente e il foglio di lavoro sul foglio di lavoro attivo.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Tabella2" 

Con questa riga di codice, creiamo la tabella dall'intervallo e diamo un nome alla nostra tabella Tabella2 .

Per saperne di più: Come utilizzare una tabella di Excel con VBA (9 modi possibili)

3. Creare una tabella da un intervallo con VBA in Excel

Vediamo un altro esempio di utilizzo di Excel VBA per creare una tabella da un intervallo.

FASI:

  • Per iniziare, selezionare l'intero intervallo che si desidera convertire in tabella.
  • In secondo luogo, fare clic sul pulsante Sviluppatore sulla barra multifunzione.
  • Terzo, lanciare il programma Editor Visual Basic facendo clic su Visual Basic .
  • In alternativa, è possibile accedere alla pagina Editor Visual Basic premendo Alt + F11 .
  • Oppure, fare clic con il tasto destro del mouse sul foglio e scegliere Codice dal menu.
  • Successivamente, scegliere il Modulo dalla casella a discesa sotto Inserire .
  • Verrà visualizzata la finestra di Visual Basic.
  • Scrivete il codice lì.

Codice VBA:

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • Infine, premere il tasto Tasto F5 per eseguire il codice.

  • E questo creerà una tabella dall'intervallo di dati che abbiamo ottenuto in Metodo 1 .

Per saperne di più: Come creare una tabella in Excel (con personalizzazione)

Letture simili

  • Somma dei campi calcolati divisa per il conteggio nella tabella Pivot
  • Come illustrare la distribuzione di frequenza relativa in Excel
  • Tabella pivot di Excel Raggruppamento per settimana (3 esempi adatti)
  • [Impossibile raggruppare le date nella tabella pivot: 4 possibili soluzioni
  • Come creare una tabella di ammortamento in Excel (4 metodi)

4. Applicare VBA per creare una tabella dinamica dall'intervallo

Vediamo un altro modo per generare una tabella da un intervallo utilizzando Excel VBA.

FASI:

  • Per iniziare, aprire la barra multifunzione e selezionare la voce Sviluppatore opzione.
  • Quindi, per accedere al file Editor Visual Basic , fare clic su Visual Basic .
  • Premendo Alt + F11 porterà anche la finestra di dialogo Editor Visual Basic .
  • In alternativa, fare clic con il tasto destro del mouse il foglio e scegliere Visualizza il codice dal menu che appare.
  • Ora, dal Inserire opzione a discesa, scegliere Modulo .
  • Quindi copiare e incollare il file VBA codice che segue.

Codice VBA:

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With EndSub 
  • Eseguite il codice premendo il tasto F5 chiave.

  • Come illustrato in Metodo 1 L'illustrazione di questo esempio mostra che il tavolo verrà costruito a partire dalla gamma.

Spiegazione del codice VBA

 Sub Crea_tabella_dinamica1() 

Questa riga indica il nome della sottoprocedura.

 Dim tbOb As ListObject Dim TblRng As Range 

Queste due righe sono utilizzate per la dichiarazione delle variabili.

 Con Fogli("Esempio4") 

Il Con dichiarazione permette di fare una sequenza di dichiarazioni su un singolo oggetto senza dover riqualificare il nome dell'oggetto. Quindi, racchiudiamo l'oggetto Con dichiarazione con il nome del foglio.

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

Servono rispettivamente per trovare l'ultima riga e l'ultima colonna.

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Intervallo per creare la tabella.

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

Creare una tabella nell'intervallo sopra specificato.

 tbOb.Name = "DynamicTable1" 

Specificare il nome della tabella

 tbOb.TableStyle = "TableStyleMedium14" 

Specificare lo stile della tabella.

Per saperne di più: Creare una tabella in Excel usando una scorciatoia (8 metodi)

5. Creare una tabella dinamica dall'intervallo

Vediamo ora un altro metodo VBA di Excel per creare una tabella da un intervallo.

FASI:

  • Per iniziare, aprire la barra multifunzione e scegliere Sviluppatore dal menu a discesa.
  • Quindi selezionare Visual Basic per aprire il Editor Visual Basic .
  • Il Editor Visual Basic si può accedere anche premendo Alt + F11 .
  • In alternativa, è possibile fare clic con il tasto destro del mouse il foglio e selezionare Visualizza il codice dal menu a comparsa.
  • Successivamente, selezionare Modulo dal Inserire menu a discesa.
  • Quindi copiare e incollare il seguente codice VBA.

Codice VBA:

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub 
  • Infine, eseguire il codice premendo F5 sulla tastiera e vedrete il risultato nel vostro foglio di lavoro.

  • E, come dimostrato in Metodo 1 La tabella verrà costruita a partire dall'intervallo.

Per saperne di più: Come rendere belle le tabelle di Excel (8 suggerimenti efficaci)

6. Utilizzare Excel VBA per creare tabelle dinamiche

Esploriamo un altro modo di Excel VBA per costruire una tabella da un intervallo.

FASI:

  • All'inizio, andare alla voce Sviluppatore scheda> Visual Basic > Inserire > Modulo .
  • Oppure, cliccando con il tasto destro del mouse sul foglio di lavoro si aprirà una finestra, da cui si accede alla voce Visualizza il codice .
  • E questo vi porterà alla pagina Editor Visual Basic in cui è possibile scrivere macro VBA.
  • D'altra parte, premendo Alt + F11 aprirà anche la finestra Editor Visual Basic .
  • Dopodiché, digitate il comando VBA codice.

Codice VBA:

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • Eseguire il codice per vedere il risultato premendo il tasto Tasto F5 .

  • E la tabella verrà creata dall'intervallo come mostrato nell'immagine di Metodo 1 .

Per saperne di più: Come creare una tabella in Excel con i dati (5 modi)

Conclusione

I metodi sopra descritti vi aiuteranno a creare una tabella da un intervallo in Excel. Se avete domande, suggerimenti o commenti, fatecelo sapere nella sezione dei commenti. Oppure potete dare un'occhiata agli altri articoli della rubrica ExcelWIKI.com blog!

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.