Excel VBA за създаване на таблица от диапазон (6 примера)

  • Споделя Това
Hugh West

Докато работите с Microsoft Excel , можем да използваме разглеждането на големи количества данни. А трансформирането на тези диапазони от данни в таблица е една от най-големите възможности. Таблиците на Excel ни позволяват бързо да сортираме и филтрираме данните, да добавяме нови записи и незабавно да актуализираме диаграми и PivotTables. и Excel VBA помага на потребителя да персонализира приложението само с няколко прости кода. В тази статия ще видим няколко примера за Excel VBA за създаване на таблица от диапазон.

Изтегляне на работна тетрадка за практика

Можете да изтеглите работната тетрадка и да се упражнявате с тях.

Създаване на таблица от Range.xlsm

6 примера за Excel VBA за създаване на таблица от диапазон

Таблиците започнаха като списъци в изданието на Excel с меню, но функционалността им нарасна във вариантите с лента. Превръщането на диапазон от данни в таблица разширява възможностите, като ви позволява да работите по-бързо и лесно. преобразуване на обхвата в таблица използване на VBA е най-лесният начин, отколкото използването на лентата.

Да предположим, че имаме прост набор от данни, който съдържа някои елементи в колона B , количеството на тези артикули в колона C , а общите продажби за всеки артикул - в колона D . Сега искаме да преобразуваме диапазона от данни в таблица. Нека демонстрираме различни примери и инструкции стъпка по стъпка за създаване на таблица от диапазон B4:D9 с Excel VBA.

Използвайте ListObjects.Add за да превърнете даден диапазон в таблица на Excel. Обектът Spreadsheet има характеристика ListObjects . ListObjects има техника, наречена Добавяне на Критериите за .Add са следните.

израз .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

И използвайте SourceType xlSrcRange .

1. Excel VBA за генериране на таблица от обхват

С Excel VBA , потребителите могат лесно да използват кода, който действа като менюта на Excel от лентата. за да използвате VBA код за генериране на таблица от обхвата, нека следваме процедурата надолу.

СТЪПКИ:

  • Първо, отидете в Разработчик от лентата.
  • Второ, от Код категория, щракнете върху Visual Basic за да отворите Редактор на Visual Basic . Или натиснете Alt + F11 за да отворите Редактор на Visual Basic .
  • Вместо да правите това, можете просто да щракнете с десния бутон на мишката върху работния лист и да отидете на Вижте кода . Това ще ви отведе и до Редактор на Visual Basic .

  • Това ще се появи в Редактор на Visual Basic където записваме кодовете си за създаване на таблица от диапазон.
  • Трето, щракнете върху Модул от Вмъкване на падащо меню.

  • Това ще създаде Модул във вашата работна книга.
  • И копирайте и поставете VBA код, показан по-долу.

Код VBA:

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • След това стартирайте кода, като щракнете върху RubSub или натискане на бързата клавишна комбинация F5 .

Не е необходимо да променяте кода. Всичко, което можете да направите, е просто да промените обхвата според изискванията си.

  • И накрая, следвайки стъпките, ще създадете таблица от диапазон B4:D9 .

Обяснение на кода VBA

 Sub Create_Table() 

Под е част от кода, която се използва за обработка на работата в кода, но няма да върне никаква стойност. Известна е също като подпроцедура. Така че наричаме нашата процедура Създаване на_таблица() .

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

Това е основният ред от кода, с който обхватът се преобразува в таблица. Както вече знаем, че ListObjects.Add за превръщане на диапазон в таблица на Excel. И използваме xlSrcRange като тип източник. Също така декларираме нашия диапазон Обхват("B4:D9") . И накрая дайте име на нашата таблица като Таблица1 .

 Край на Sub 

Това ще доведе до приключване на процедурата.

Прочетете още: Как да актуализирате обхвата на таблицата Pivot (5 подходящи метода)

2. Конструиране на таблица от диапазон с помощта на Excel VBA

Нека видим друг пример за конструиране на таблица от диапазон с помощта на Excel VBA.

СТЪПКИ:

  • Първо, отидете в Разработване на r от лентата.
  • Второ, щракнете върху Visual Basic за да отворите Редактор на Visual Basic .
  • Друг начин за отваряне на Редактор на Visual Basic е просто да натиснете Alt + F11 .
  • Или щракнете с десния бутон на мишката върху листа, след което изберете Вижте кода .
  • След това отидете в Вмъкване на и изберете Модул от падащото меню.
  • Това ще отвори прозореца на Visual Basic.
  • След това копирайте и поставете Код VBA по-долу.

Код 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 
  • Освен това натиснете бутона Клавиш F5 или кликнете върху Изпълнявайте функцията Run Sub за да стартирате кода.

  • И ще получите резултата, показан в Метод 1 .

Обяснение на кода VBA

 Dim tb2 As Range Dim wsht As Worksheet 

Сайтът DIM изявление в VBA се отнася до " декларира, " и трябва да се използва за деклариране на променлива. тб2 и работен лист към ws .

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

VBA Set просто ни позволява да избегнем необходимостта да въвеждаме отново и отново диапазона, който трябва да изберем, когато изпълняваме кода. И така, задаваме нашия диапазон на текущия регион, а работния лист - на активния работен лист.

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Таблица2" 

С този ред код създаваме таблица от обхвата и даваме име на таблицата Таблица2 .

Прочетете още: Как да използвате таблица на Excel с VBA (9 възможни начина)

3. Създаване на таблица от обхват с VBA в Excel

Нека разгледаме друг пример за използване на Excel VBA за създаване на таблица от диапазон.

СТЪПКИ:

  • За да започнете, изберете целия диапазон, който искате да превърнете в таблица.
  • Второ, щракнете върху Разработчик в лентата.
  • Трето, стартирайте Редактор на Visual Basic като кликнете върху Visual Basic .
  • Като алтернатива можете да получите достъп до Редактор на Visual Basic като натиснете Alt + F11 .
  • Или, щракване с десния бутон на мишката върху на листа и изберете Вижте кода от менюто.
  • След това изберете Модул от падащото поле под Вмъкване на .
  • Ще се появи прозорецът на Visual Basic.
  • Напишете кода там.

Код 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 
  • Накрая натиснете бутона Клавиш F5 за да стартирате кода.

  • И това ще създаде таблица от диапазона данни, който получихме в Метод 1 .

Прочетете още: Как да създадем таблица в Excel (с персонализиране)

Подобни четива

  • Изчислена сума на полето, разделена на броя в таблица Pivot
  • Как да илюстрираме относителното разпределение на честотата в Excel
  • Групиране на таблицата Excel Pivot по седмици (3 подходящи примера)
  • [Поправка] Не може да се групират дати в таблица Pivot: 4 възможни решения
  • Как да съставим амортизационна таблица в Excel (4 метода)

4. Прилагане на VBA за създаване на динамична таблица от диапазон

Нека разгледаме друг начин за генериране на таблица от диапазон с помощта на Excel VBA.

СТЪПКИ:

  • За да започнете, отворете лентата и изберете Разработчик опция.
  • След това, за да получите достъп до Редактор на Visual Basic , кликнете върху Visual Basic .
  • Натискане на Alt + F11 също ще изведе Редактор на Visual Basic .
  • Алтернативно, щракване с десния бутон на мишката върху на листа и изберете Вижте кода от появилото се меню.
  • Сега, от Вмъкване на падаща опция, изберете Модул .
  • След това копирайте и поставете VBA код, който следва.

Код 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 EndПод 
  • Изпълнете кода, като натиснете бутона F5 ключ.

  • Както е показано в Метод 1 'на илюстрацията, масата ще бъде изградена от гамата.

Обяснение на кода VBA

 Sub Create_Dynamic_Table1() 

На този ред се посочва името на подпроцедурата.

 Dim tbOb As ListObject Dim TblRng As Range 

Този двуредов ред се използва за деклариране на променлива.

 С листове("Пример4") 

Сайтът С изявление ви позволява да правите поредица от оператори върху един обект, без да се налага да преквалифицирате името на обекта. С изявление с името на листа.

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

Те са предназначени съответно за намиране на последния ред и последната колона.

 Задайте TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

Обхват за създаване на таблицата.

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

Създайте таблица в посочения по-горе диапазон.

 tbOb.Name = "DynamicTable1" 

Посочване на име на таблица

 tbOb.TableStyle = "TableStyleMedium14" 

Посочете стила на таблицата.

Прочетете още: Създаване на таблица в Excel с помощта на пряк път (8 метода)

5. Направете динамична таблица от обхвата

Сега разгледайте друг метод на Excel VBA за създаване на таблица от диапазон.

СТЪПКИ:

  • За да започнете, отворете лентата и изберете Разработчик от падащото меню.
  • След това изберете Visual Basic за да отворите Редактор на Visual Basic .
  • Сайтът Редактор на Visual Basic можете да получите достъп и чрез натискане на Alt + F11 .
  • Като алтернатива можете да щракване с десния бутон на мишката върху на листа и изберете Вижте кода от изскачащото меню.
  • След това изберете Модул от Вмъкване на падащо меню.
  • След това копирайте и поставете следния код VBA.

Код 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 
  • Накрая стартирайте кода, като натиснете F5 на клавиатурата и ще видите резултата в работния лист.

  • И както е показано в Метод 1 'на илюстрацията, таблицата ще бъде конструирана от диапазона.

Прочетете още: Как да направим таблиците на Excel да изглеждат добре (8 ефективни съвета)

6. Използване на Excel VBA за създаване на динамична таблица

Нека да разгледаме друг начин на Excel VBA за конструиране на таблица от диапазон.

СТЪПКИ:

  • В началото отидете в Разработчик tab> Visual Basic > Вмъкване на > Модул .
  • Или, щракване с десния бутон на мишката върху върху работния лист ще се отвори прозорец. Оттам отидете в Вижте кода .
  • И това ще ви отведе до Редактор на Visual Basic поле, в което можем да напишем макроси VBA.
  • От друга страна, натискането на Alt + F11 също така ще отворите Редактор на Visual Basic .
  • След това въведете VBA код.

Код 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 
  • И стартирайте кода, за да видите резултата, като натиснете бутона Клавиш F5 .

  • И таблицата ще бъде създадена от обхвата, както е показано на снимката на Метод 1 .

Прочетете още: Как да създадете таблица в Excel с данни (5 начина)

Заключение

Горните методи ще ви помогнат да създадете таблица от диапазон в Excel. Надявам се, че това ще ви помогне! Ако имате някакви въпроси, предложения или обратна връзка, моля, уведомете ни в раздела за коментари. Или можете да разгледате други наши статии в ExcelWIKI.com блог!

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.