"Excel VBA" lentelės kūrimas iš diapazono (6 pavyzdžiai)

  • Pasidalinti
Hugh West

Dirbant su "Microsoft Excel , galime panaudoti nagrinėdami didelius duomenų kiekius. O šių duomenų intervalų pavertimas lentele yra viena didžiausių galimybių. Excel lentelės leidžia greitai rūšiuoti ir filtruoti duomenis, pridėti naujų įrašų ir akimirksniu atnaujinti diagramas bei PivotTables. ir "Excel" VBA padeda naudotojui pritaikyti programą, naudojant tik kelis paprastus kodus. Šiame straipsnyje pamatysime keletą pavyzdžių, kaip "Excel" VBA sukurti lentelę iš diapazono.

Atsisiųsti praktikos sąsiuvinį

Galite atsisiųsti pratybų sąsiuvinį ir pasipraktikuoti su jais.

Sukurti lentelę iš Range.xlsm

6 "Excel VBA" pavyzdžiai, kaip sukurti lentelę iš diapazono

Lentelės "Excel" meniu versijoje buvo pradėtos kurti kaip sąrašai, tačiau juostos variantuose jų funkcionalumas išaugo. Duomenų diapazono konvertavimas į lentelę išplečia galimybes ir leidžia dirbti greičiau ir paprasčiau. konvertuoti diapazoną į lentelę naudojant VBA tai paprasčiausias būdas nei naudoti juostą.

Tarkime, turime paprastą duomenų rinkinį, kurio stulpelyje yra keletas elementų B , šių prekių kiekis stulpelyje C , o bendra kiekvienos prekės pardavimų suma - stulpelyje D . Dabar norime duomenų intervalą paversti lentele. Parodykime įvairių pavyzdžių ir žingsnis po žingsnio instrukcijų, kaip sukurti lentelę iš intervalo B4:D9 naudojant "Excel VBA".

Naudokite ListObjects.Add paversti diapazoną "Excel" lentele. Objektas "Spreadsheet" turi savybę ListObjects . ListObjects turi metodą, vadinamą Pridėti Kriterijai .Add yra šie.

išraiška .Add(SourceType, Šaltinis, LinkSource, HasHeaders,Tikslas)

Ir naudokite SourceType xlSrcRange .

1. "Excel" VBA, skirta generuoti lentelę iš diapazono

Su "Excel" VBA , naudotojai gali lengvai naudoti kodą, kuris veikia kaip "Excel" juostos meniu. Norėdami naudoti VBA kodą, kad iš diapazono sukurtumėte lentelę, atlikime tolesnę procedūrą.

ŽINGSNIAI:

  • Pirmiausia eikite į Kūrėjas skirtuką iš juostos.
  • Antra, iš Kodas kategoriją, spustelėkite "Visual Basic atidaryti "Visual Basic" redaktorius . Arba paspauskite Alt + F11 atidaryti "Visual Basic" redaktorius .
  • Užuot tai darę, galite tiesiog dešiniuoju pelės klavišu spustelėti darbalapį ir eiti į Peržiūrėti kodą . Taip pat pateksite į "Visual Basic" redaktorius .

  • Tai bus rodoma "Visual Basic" redaktorius kur rašome kodus, skirtus sukurti lentelę iš diapazono.
  • Trečia, spustelėkite Modulis Įdėkite išskleidžiamojo meniu juostoje.

  • Taip bus sukurtas Modulis savo sąsiuvinyje.
  • Nukopijuokite ir įklijuokite VBA toliau pateiktas kodas.

VBA kodas:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • Po to paleiskite kodą spustelėdami RubSub mygtuką arba paspausdami klaviatūros sparčiuosius klavišus F5 .

Jums nereikia keisti kodo. Viskas, ką galite padaryti, tai tiesiog pakeisti diapazoną pagal savo reikalavimus.

  • Galiausiai atlikus šiuos veiksmus bus sukurta lentelė iš diapazono B4:D9 .

VBA kodo paaiškinimas

 Dalis Create_Table() 

Sub tai kodo dalis, kuri naudojama kodo darbams atlikti, bet negrąžina jokios vertės. Ji taip pat vadinama paprocedūra. Taigi savo procedūrą pavadiname Create_Table() .

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

Tai pagrindinė kodo eilutė, kuria diapazonas paverčiamas lentele. Kaip jau žinome, kad ListObjects.Add diapazoną paversti "Excel" lentele. Ir mes naudojame xlSrcRange kaip šaltinio tipą. Taip pat deklaruojame savo diapazoną Diapazonas ("B4:D9") . Ir galiausiai pavadinkite mūsų lentelę taip 1 lentelė .

 Pabaiga Sub 

Taip procedūra bus baigta.

Skaityti daugiau: Kaip atnaujinti suvestinės lentelės diapazoną (5 tinkami metodai)

2. Lentelės konstravimas iš diapazono naudojant "Excel VBA

Pažiūrėkime kitą pavyzdį, kaip sudaryti lentelę iš intervalo naudojant "Excel VBA".

ŽINGSNIAI:

  • Pirmiausia eikite į Plėtoti r skirtuką iš juostos.
  • Antra, spustelėkite "Visual Basic atidaryti "Visual Basic" redaktorius .
  • Kitas būdas atidaryti "Visual Basic" redaktorius tiesiog paspauskite Alt + F11 .
  • Arba dešiniuoju pelės klavišu spustelėkite lapą ir pasirinkite Peržiūrėti kodą .
  • Tada eikite į Įdėkite ir pasirinkite Modulis iš išskleidžiamojo meniu.
  • Bus atidarytas "Visual Basic" langas.
  • Po to nukopijuokite ir įklijuokite VBA kodas žemiau.

VBA kodas:

 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 
  • Be to, paspauskite F5 klavišas arba spustelėkite Paleisti "Run Sub mygtuką, kad paleistumėte kodą.

  • Gausite rezultatą, kaip parodyta 1 metodas .

VBA kodo paaiškinimas

 Dim tb2 As Range Dim wsht As Worksheet 

Svetainė DIM teiginys VBA " deklaruoti, " ir jis turi būti naudojamas kintamajam deklaruoti. tb2 ir darbalapį į ws .

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

VBA Set tiesiog leidžia mums išvengti, kad paleidžiant kodą nereikėtų vėl ir vėl įvesti diapazono, kurį reikia pasirinkti. Taigi, nustatome savo diapazoną į dabartinį regioną, o darbalapį - į aktyvųjį darbalapį.

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

Naudodami šią kodo eilutę sukuriame lentelę iš diapazono ir pavadiname ją 2 lentelė .

Skaityti daugiau: Kaip naudoti "Excel" lentelę naudojant VBA (9 galimi būdai)

3. Lentelės kūrimas iš diapazono naudojant VBA programoje "Excel

Panagrinėkime kitą pavyzdį, kaip naudoti "Excel VBA", kad iš diapazono sukurtumėte lentelę.

ŽINGSNIAI:

  • Pirmiausia pasirinkite visą intervalą, kurį norite paversti lentele.
  • Antra, spustelėkite Kūrėjas juostos skirtukas.
  • Trečia, paleiskite "Visual Basic" redaktorius spustelėdami "Visual Basic .
  • Taip pat galite pasiekti "Visual Basic" redaktorius paspausdami Alt + F11 .
  • Arba, dešiniuoju pelės klavišu spustelėkite lape ir pasirinkite Peržiūrėti kodą iš meniu.
  • Tada pasirinkite Modulis iš išskleidžiamojo langelio, esančio Įdėkite .
  • Bus rodomas "Visual Basic" langas.
  • Ten įrašykite kodą.

VBA kodas:

 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 
  • Galiausiai paspauskite F5 klavišas paleisti kodą.

  • Taip bus sukurta lentelė iš duomenų intervalo, kurį gavome 1 metodas .

Skaityti daugiau: Kaip sukurti lentelę "Excel" programoje (su pritaikymais)

Panašūs skaitiniai

  • Apskaičiuota lauko suma, padalinta iš skaičiaus suvestinėje lentelėje
  • Kaip iliustruoti santykinį dažnio pasiskirstymą programoje "Excel
  • "Excel" suvestinės lentelės grupavimas pagal savaitę (3 tinkami pavyzdžiai)
  • [Pataisyti] Negalima sugrupuoti datų išvestinėje lentelėje: 4 galimi sprendimai
  • Kaip sudaryti amortizacijos lentelę programoje "Excel" (4 metodai)

4. Taikykite VBA, kad sukurtumėte dinaminę lentelę iš diapazono

Pažvelkime į kitą būdą, kaip sukurti lentelę iš intervalo naudojant "Excel VBA".

ŽINGSNIAI:

  • Norėdami pradėti, atidarykite juostą ir pasirinkite Kūrėjas galimybė.
  • Tada, norėdami pasiekti "Visual Basic" redaktorius , spustelėkite "Visual Basic .
  • Spaudimas Alt + F11 taip pat iškels "Visual Basic" redaktorius .
  • Arba, dešiniuoju pelės klavišu spustelėkite lapą ir pasirinkite Peržiūrėti kodą iš pasirodžiusio meniu.
  • Dabar iš Įdėkite išskleidžiamojo sąrašo parinktį, pasirinkite Modulis .
  • Tada nukopijuokite ir įklijuokite VBA toliau pateikiamas kodas.

VBA kodas:

 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" tbObOb.TableStyle = "TableStyleMedium14" End With End End EndSub 
  • Paleiskite kodą paspausdami F5 raktas.

  • Kaip parodyta 1 metodas 'iliustracijoje, stalas bus sudarytas iš diapazono.

VBA kodo paaiškinimas

 Dalis Create_Dynamic_Table1() 

Šioje eilutėje nurodomas paprocedūros pavadinimas.

 Dim tbOb As ListObject Dim TblRng As Range 

Ši dviejų eilučių eilutė naudojama kintamajam deklaruoti.

 Su lapai ("Pavyzdys4") 

Svetainė Su pareiškimu leidžia atlikti seką teiginių apie vieną objektą, neperkvalifikuojant objekto vardo. Su pareiškimas su lapo pavadinimu.

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

Jie skirti atitinkamai paskutinei eilutei ir paskutiniam stulpeliui rasti.

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

diapazonas, kad sukurtumėte lentelę.

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

Sukurkite lentelę pirmiau nurodytame intervale.

 tbOb.Name = "DynamicTable1" 

Lentelės pavadinimo nurodymas

 tbOb.TableStyle = "TableStyleMedium14" 

Nurodykite lentelės stilių.

Skaityti daugiau: Lentelės sukūrimas "Excel" programoje naudojant sparčiuosius klavišus (8 metodai)

5. Iš diapazono sukurkite dinaminę lentelę

Dabar pažvelkite į kitą "Excel" VBA metodą, kaip sukurti lentelę iš intervalo.

ŽINGSNIAI:

  • Norėdami pradėti, atidarykite juostą ir pasirinkite Kūrėjas iš išskleidžiamojo meniu.
  • Tada pasirinkite "Visual Basic atidaryti "Visual Basic" redaktorius .
  • Svetainė "Visual Basic" redaktorius taip pat galima pasiekti paspaudus Alt + F11 .
  • Arba galite dešiniuoju pelės klavišu spustelėkite lapą ir pasirinkite Peržiūrėti kodą iš iššokančio meniu.
  • Po to pasirinkite Modulis Įdėkite išskleidžiamąjį meniu.
  • Tada nukopijuokite ir įklijuokite šį VBA kodą.

VBA kodas:

 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 
  • Galiausiai paleiskite kodą paspausdami F5 klaviatūra ir darbo lape pamatysite rezultatą.

  • Ir, kaip parodė 1 metodas iliustracijoje lentelė bus sudaryta iš diapazono.

Skaityti daugiau: Kaip padaryti, kad "Excel" lentelės atrodytų gerai (8 veiksmingi patarimai)

6. Naudokite "Excel VBA" dinamiškai lentelei sukurti

Panagrinėkime kitą "Excel" VBA būdą, kaip sudaryti lentelę iš intervalo.

ŽINGSNIAI:

  • Pradžioje eikite į Kūrėjas skirtukas> "Visual Basic > Įdėkite > Modulis .
  • Arba, dešiniuoju pelės klavišu spustelėjus ant darbalapio atsidarys langas. Iš jo eikite į Peržiūrėti kodą .
  • Taip pat pateksite į "Visual Basic" redaktorius laukas, kuriame galime rašyti VBA makrokomandas.
  • Kita vertus, paspaudus Alt + F11 taip pat bus atidarytas "Visual Basic" redaktorius .
  • Po to įveskite VBA kodas.

VBA kodas:

 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 
  • Paleiskite kodą, kad pamatytumėte rezultatą, paspausdami F5 klavišas .

  • Lentelė bus sukurta iš diapazono, kaip parodyta paveikslėlyje 1 metodas .

Skaityti daugiau: Kaip "Excel" sukurti lentelę su duomenimis (5 būdai)

Išvada

Šie metodai padės jums sukurti lentelę iš diapazono "Excel" programoje. Tikimės, kad tai jums padės! Jei turite klausimų, pasiūlymų ar atsiliepimų, praneškite mums komentarų skiltyje. Arba galite peržvelgti kitus mūsų straipsnius ExcelWIKI.com tinklaraštis!

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.