VBA за превртување низ редовите на табелата во Excel (11 методи)

  • Споделете Го Ова
Hugh West

Содржина

Кога имаме голема база на податоци во нашата работна книга на Excel, понекогаш е погодно ако можеме да ги превртиме редовите за да ги извлечеме конкретните резултати што сакаме да ги добиеме. Спроведувањето на VBA е најефективниот, најбрзиот и најбезбедниот метод за извршување на која било операција во Excel. Во оваа статија, ќе ви покажеме 11 различни методи како да превртувате низ редовите на табелата во Excel со VBA макро .

Преземете работна книга

Можете да ја преземете бесплатната практична работна книга на Excel од овде.

Прегледајте низ редовите на табелата со VBA.xlsm

11 методи со VBA за превртување низ редовите на табелата во Excel

Следејќи го овој дел, ќе научите како да превртувате низ редовите на табелата со 11 различни методи, како што е јамка низ редови до празна ќелија, јамка низ редови додека не се најде одредена вредност, јамка низ редови и боја одредена ќелија итн. со VBA макро во Excel.

Погоре е примерот на базата на податоци што ќе го следи овој напис за да ги опише методите.

1. Вметнете VBA за да се превртува низ секоја ќелија во секој ред од табелата по референтен број на ќелија

Ако сакате да превртувате низ секоја ќелија во секој ред од табелата во вашиот работен лист во Excel и добијте го референтниот број на ќелијата како повратна вредност , а потоа следете ги чекорите дискутирани подолу.

Чекори:

  • На почетокот , притиснете Alt + F11 на тастатурата или одетепроменлива.
2156

Овој дел од кодот е тука за вртење низ редовите од 1 до 15. Ако го најде конкретниот збор „ Edge “, тогаш ја бои ќелијата што го држи зборот. Продолжува да го прави ова сè додека не заврши со скенирање на сите податоци од редовите 1 до 15 при пребарувањето на зборот.

Прочитајте повеќе: Како да се користи VLOOKUP табеларна низа врз основа на Вредност на ќелијата во Excel

Слични читања

  • Дали функцијата ТАБЕЛА постои во Excel?
  • Како да конвертирате табела во листа во Excel (3 брзи начини)
  • Конвертирате опсег во табела во Excel (5 лесни методи)
  • Ефикасно користете ја формулата во табела на Excel (со 4 ​​примери)
  • Име на табелата на Excel: Сè што треба да знаете

7. Спроведување на VBA за јамка низ секој ред и боја на секој непарен ред во Excel

Од претходниот дел, научивме како да обоиме ќелија што носи одредена вредност. Во овој дел, ќе научиме како да превртуваме низ секој ред од табелата и да го обоиме секој непарен ред со VBA макро во Excel.

Чекори за извршување на процесот се опишани подолу.

Чекори:

  • Како што е прикажано претходно, отворете го Visual Basic Editor од Developer картичката и Вметнете Модул во прозорецот за код.
  • Потоа, копирајте следниов код и залепете го во прозорецот за код.
7344

Вашиот код сега е подготвен за извршување.

  • Сега, Извршете макрото и погледнете ја следната слика за да го видите излезот.

Сите непарни редови се обоени по вртење низ сите редови кои се наоѓаат во табелата на работниот лист.

Објаснување на VBA кодот

1393

Дефинирајте ја променливата.

7456

Дефинирајте го опсегот со кој ќе работиме.

7410

Овој дел од кодот се однесува на повторувањето низ сите редови, почнувајќи од следниот ред на тековниот ред, B4 . Ако модот за делење на броевите на редовите со 2 е еднаков на вратениот број на ред зачуван во цел број, тогаш овој код ги обојува сите редови што се извлечени со пресметката со индексот на боја даден во кодот. Продолжува да се движи низ сите редови додека не стигне до крајот на опсегот.

8. Имплементирајте VBA за да ги обоите низ редовите и да ги обоите сите парни редови во Excel

Во претходниот дел, научивме како да го обоиме секој непарен ред од табелата. Во овој дел, ќе научиме како да превртуваме низ секој ред од табелата и да го обоиме секој парен ред со VBA макро во Excel.

Чекорите за извршување на процесот се дискутирани подолу.

Чекори:

  • Прво, отворете го Visual Basic Editor од картичката Developer и Вметни a Модул во прозорецот за код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
9137

Вашиот код сега е подготвен застартува>

Сите парични редови се обоени откако ќе се превртат низ сите редови што се наоѓаат во табелата на работниот лист.

Објаснување на VBA кодот

7629

Дефинирајте ја променливата.

5005

Дефинирајте го опсегот со кој ќе работиме.

5658

Овој дел од кодот започнува да се повторува откако трите редови од тековниот ред, B4 . Прво го бои, потоа го зголемува бројот на редови за 2 и продолжува да го бои додека не стигне до последниот ред од сетот.

9. Примени макро за повторување низ редовите до празна ќелија во Excel

Ако сакате вашиот код да работи како да ќе се превртува низ сите редови од табелата и ќе престане кога ќе достигне празна ќелија , тогаш овој дел е за вас. Може да ја извршите таа задача и со FOR Loop и Do-Until Loop во Excel VBA .

9.1. Со FOR Loop

Чекори за превртување низ редовите во табелата додека не се даде празна ќелија со FOR Loop во VBA Excel.

Чекори:

  • На почетокот, отворете го Visual Basic Editor од картичката Програмер и Вметни Модул во прозорецот со код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
2731

Вашиот код сега е подготвен за извршување.

  • Потоа, Стартувај макрото и резултатот е прикажан во гифот подолу.

По извршувањето на макрото, почна да се врти низ сите редови во табелата и штом стигна до празната ќелија, ќелијата B8 , таа прекина со повторувањето .

Објаснување на VBA кодот

4587

Дефинирајте ја променливата.

1603

Исклучете го настанот за ажурирање на екранот.

2850

Зачувајте ги сите редови почнувајќи од Cell B4 до последниот.

8156

Изберете Ќелија B4 .

7727

Овој дел од кодот започнува да се врти низ сите редови. Кога ќе најде празна ќелија по ред, тогаш ја избира и продолжува со скенирање на редовите додека не стигне до крајот.

3318

Вклучете го настанот за ажурирање на екранот.

9.2. Со Do-Until Loop

Чекори за јамка низ редови додека не се даде празна ќелија со јамка Do-Until во VBA подолу.

Чекори:

  • Прво, отворете го Visual Basic Editor од картичката Developer и Вметнете a Модул во прозорецот со код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
7312

Вашиот код сега е подготвен за извршување.

  • Подоцна, Стартувај макрото. Резултатот е прикажан во следниот gif.

По извршувањето на макрото, почна да се врти низ сите редови во табелата и еднаш стигна до празна ќелија, ќелија B8 , ја запре повторувањето .

VBA кодОбјаснување

6404

Изберете ја ќелијата од која ќе работиме.

9292

Започнува и продолжува со циклус додека не се најде празна ќелија.

1848

Кога празна ќелија е пронајден во ред, потоа изберете го и прекинете го повторувањето.

10. VBA макро за повторување низ редовите до повеќекратни празни ќелии во Excel

Во претходниот дел, научивте како да ја запрете јамката кога ќе се најде празна ќелија. Но, што ако не сакате да го запрете повторувањето додека не се најдат повеќе празни ќелии наместо само една.

Чекорите за превртување низ редови додека не се најдат повеќе празни ќелии во табела со VBA Excel се прикажани подолу.

Чекори:

  • Прво, отворете го Visual Basic Editor од Картичката Програмер и Вметнете Модул во прозорецот со код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
6486

Вашиот код сега е подготвен за извршување.

  • Сега, Извршете го макрото и видете го следниот gif за излезот.

По извршувањето на макрото, не застана на првата празна ќелија, ќелија B8 . Запре кога најде две последователни празни ќелии на ќелијата B16 .

Објаснување на VBA кодот

6174

Изберете ја ќелијата од кој ќе работиме.

9110

Започнува и продолжува да се врти додека не се најдат две последователни празни ќелии.

6597

Кога ќе се најдат две последователни празни ќелии, тогашизберете го и прекинете ја повторувањето.

11. Вградете го VBA за да се преврти низ редовите со поврзување на сите колони до празно во Excel

Овој дел ќе ви покаже како да превртувате низ сите редови во табелата и да ги споите сите колони до празна ќелија се наоѓа со VBA Excel.

Ајде да научиме како да го направиме тоа со VBA макрото во Excel.

Чекори:

  • На почетокот, отворете го Visual Basic Editor од табулаторот Developer и Вметнете Модул во прозорецот со код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
5460

Вашиот код сега е подготвен за извршување.

  • Подоцна, Стартувај макрото и погледнете го следниов GIF за резултатот.

Како што можете да видите од горниот gif е дека постои скокачки прозорец MsgBox што ви ја покажува спојната вредност на сите колони кои живеат во секоја ред од табелата на вашиот работен лист во Excel. Но, тој запре откако стигна до празната ќелија .

Објаснување на кодот VBA

2755

Дефинирајте ги променливите.

1733

Поставете го името на листот со кој ќе работиме („ ConcatenatingAllColUntilBlank “ е името на листот во работната книга).

9236

Дефинирајте го опсегот со кој ќе работиме.

3219

Овој код ја започнува јамката со низата. Продолжува да се врти додека не го врати најголемиот подлог од низата и долната граница напрвата димензија. Потоа влегува во итерацијата на извлекување на долната граница на втората димензија. После тоа, ги пренесува сите извлечени вредности во променливата iResult со нивно спојување и фрлање на резултатот во MsgBox. Продолжува да го прави тоа додека не најде празна ќелија.

Заклучок

За да заклучиме, овој напис ви покажа 11 ефективни методи како да превртувате низ редовите на табела во Excel со VBA макро . Се надевам дека овој напис беше многу корисен за вас. Слободно поставувајте какви било прашања во врска со темата.

во картичката Програмер -> Visual Basicза да се отвори Visual Basic Editor.

  • Следно, во скокачкиот прозорец со код, од лента со мени, кликнете Вметни -> Модул .

  • Потоа, копирајте следниов код и залепете го во кодот прозорец.
1162

Вашиот код сега е подготвен за извршување.

  • Сега, притиснете F5 на вашиот тастатура или од лентата со мени изберете Изврши -> Стартувај Sub/UserForm . Можете исто така само да кликнете на малата икона Play во лентата под-мени за да го извршите макрото.

  • Или да визуелно сведочете и споредете ги податоците и резултатот, можете да го зачувате кодот и да се вратите на работниот лист од интерес.
  • Оттаму, можете да кликнете Макроа од табулаторот Програмер , изберете го името на макрото, и потоа кликнете Изврши .

По успешното извршување на кодот, погледнете го горниот гиф за да го видите резултатот. Ќе се појави скокачки прозорец MsgBox што ќе ви го покаже референтниот број на ќелија на секоја ќелија од секој ред од табелата во вашиот Excel лист.

Објаснување на VBA кодот

2434

За да го добиете бројот на последниот ред во табелата со пребарување на колоната B.

5961

Поставете го редот број 4, од каде што започнуваат нашите податоци.

2798

За циклус од првиот ред.

6321

Поставете ја колоната број 2, од каде што започнуваат нашите податоци.

1295

Започнете со вртење низ редовите за да го добиете последниотброј на колона со евалуација на тековниот ред до последниот ред.

8556

Зголемување на циклусот на колоната од првиот ред до последниот ред.

7764

Овој дел од кодот работи за обработка, зголемувајќи се по секоја повторување и прикажување на резултатот од кодот.

Прочитајте повеќе: Како автоматски да додадете нов ред во табела на Excel

2 . Спроведување на VBA за јамка низ секоја ќелија во секој ред по вредност

Ако сакате да јамкате низ секоја ќелија во секој ред од табелата и да ја фрлите вредноста што се наоѓа во ќелиите како повратна вредност , тогаш овој дел ќе ви помогне да дознаете како да го направите тоа со VBA Excel.

Можете да го направите тоа со ListObject и со DataBodyRange својство на VBA . Ќе ви го покажеме макро кодот и со објектот и со својството.

2.1. Со ListObject

Подолу се дадени чекорите за јамка низ секоја ќелија во секој ред од табелата по вредност на ќелијата со ListObject во VBA Excel.

Чекори:

  • Исто како и претходно, отворете го Visual Basic Editor од картичката Developer и Вметнете Модул во прозорецот со код.
  • Потоа, во прозорецот со код, копирајте следниот код и залепете тоа.
1393

Вашиот код сега е подготвен за извршување.

  • Потоа, Стартувај макрото како што ви покажавме во горниот дел. Резултатот е прикажан во гифподолу.

Ќе има скокачки прозорец MsgBox што ќе ви ја покаже вредноста што ја носи секоја ќелија од секој ред од табелата во вашиот лист Excel.

Објаснување на VBA кодот

8941

Дефинирајте ги променливите.

8445

Ова парче кодот прво почнува да се врти низ редовите во табелата („ TblStudents “ е името на нашата табела). Потоа внесува колони за секој ред. После тоа, пренесете ја вредноста на ќелијата во MsgBox. Потоа одете на следната колона. По завршувањето на повторувањето низ сите колони од еден ред, се оди во следниот ред и се продолжува со процесот на повторување до последниот ред.

2.2. Со својството DataBodyRange

За да бидеме поконкретни за извлечените податоци од табелата, можете да го искористите својството DataBodyRange на ListObject . Својството DataBodyRange ќе ви го фрли резултатот што го содржи опсегот од списокот помеѓу редот на заглавието и редот за вметнување.

Чекорите за тоа како можете преку секоја ќелија во секој ред на табелата по вредност на ќелијата со DataBodyRange во VBA Excel се дадени подолу.

Чекори:

  • Како што е прикажано претходно, отворете го Visual Basic Editor од табулаторот Програмер и Вметнете Модул во прозорецот за код.
  • Потоа , копирајте следниов код и залепете го во прозорецот за код.
9820

Вашиот код сега е подготвен за извршување.

  • Подоцна, Извршете макрото и погледнете го следниот gif за да го видите излезот.

Ќе има скокачки прозорец MsgBox ви ја прикажува вредноста што ја носи секоја ќелија од секој ред од табелата во вашиот лист Excel.

Објаснување на VBA кодот

1672

Дефинирајте ја променливата.

8136

Овој дел од кодот прво започнува да се врти низ редовите во табелата („ TblStdnt “ е нашето име на табелата) и враќа опсег на вредности со исклучок на редот на заглавието на табелата. Потоа пренесете ја вредноста на опсегот во MsgBox. Потоа оди во следниот ред за да го извлече опсегот и го продолжува процесот на повторување до последниот ред.

3. Примени VBA макро за повторување низ редови со поврзување колони во Excel

Овој дел ќе покаже како да превртувате низ редовите во табелата со поврзување на колоните со првата колона од вашата база на податоци во Excel.

На пример, за нашата база на податоци, прво, ќе повториме низ John во ќелијата B5 и 101 во ќелијата C5 со нивно спојување и потоа повторување низ Џон во ќелијата B5 и 89 во ќелијата D5 со нивно спојување од ред 5 .

Да ви покажеме како можете да го направите тоа со VBA макро во Excel.

Чекори:

  • На почетокот, отворете го Visual Basic Editor од <Картичка 1>Програмер и Вметнете Модул во прозорецот со код.
  • Второ, во прозорецот со код, копирајте следново коди залепете го тоа.
1182

Вашиот код сега е подготвен за извршување.

  • Трето, Стартувај макрото. Погледнете го GIF подолу за да го видите резултатот.

Ќе има скокачки прозорец MsgBox што ќе ви ја покаже поврзаната вредност од ќелиите од првата и втората колона ( John во ќелијата B5 од колоната B и 101 во ќелијата C5 од колоната C ) и потоа спојната вредност од ќелиите од првата и третата колона ( John во ќелијата B5 од колоната B и 89 во ќелијата D5 од колоната D ) од редот број 5 од вашата база на податоци. И оваа операција за поврзување ќе продолжи додека не стигне до последниот ред од табелата.

Објаснување на кодот VBA

5348

Дефинирајте ја променливата.

8523

Потоа кодот ја избира табелата од активниот лист („ TblConcatenate “ во името на нашата табела).

4248

Потоа, почнува да се повторува секој ред, со исклучок на заглавието на колоната. Ако итерацијата најде совпаѓање во опсегот помеѓу заглавието на колоната и редовите, тогаш ја складира вредноста во променливата iValue .

5588

Ако горенаведениот услов не се исполни, тогаш кодот ја фрла вредноста во MsgBox и ја завршува состојбата. После тоа, се префрла на вртење во друг опсег и продолжува со повторување до крајниот ред. Откако ќе стигне до крајниот ред, макрото го завршува извршувањето на кодот.

4. Вметнете макро во Iterateпреку редови со поврзување на сите колони во табела во Excel

Во овој дел, ќе научиме како да ги спојуваме сите колони што ги има секој ред во базата на податоци со VBA макро во Excel.

Чекорите за извршување што се прикажани подолу.

Чекори:

  • Прво, отворете Уредувач на Visual Basic од табулаторот Програмер и Вметнете Модул во прозорецот со код.
  • Потоа, копирајте го следниов код и залепете го во прозорецот за код.
9700

Вашиот код сега е подготвен за извршување.

  • Следно, Изврши макро кодот.

Како што можете да видите од горната слика е дека постои скокачки прозорец MsgBox што ви ја прикажува поврзаната вредност на сите колони што се наоѓаат во секој ред од табелата на вашиот работен лист во Excel.

Објаснување на VBA кодот

2366

Дефинирајте ги променливите.

7625

Поставете го името на листот со кој ќе работиме („ ConcatenatingAllCol “ е името на листот во работната тетратка).

9314

Де фино името на табелата со кое ќе работиме („ TblConcatenateAll “ е името на табелата во нашата база на податоци).

9799

Започнува повторување низ секој ред од табелата.

5323

Започнува повторување низ секоја колона од секој ред од табелата.

6219

Зачувај го резултатот со пресекување на вредностите што ги носи секоја колона од секој ред. По скенирањето низ сите колони кои живеат во секој ред, го поминарезултира во MsgBox. Потоа повторно почнува да се врти во следниот ред и продолжува со вртење додека не стигне до последниот ред од табелата.

Прочитајте повеќе: Како да подредите повеќе колони од табела со Excel VBA (2 методи)

5. Запрете ја повторувањето ако вредноста е пронајдена со вртење низ редовите на табелата со VBA макро

Да претпоставиме дека сакате да превртете низ редовите на вашата табела и да го запрете циклусот кога ќе најде одредена вредност . Можете да го направите тоа со едноставен макро код.

Ајде да научиме како да го направиме тоа VBA во Excel.

Чекори:

  • Најпрво, отворете го Visual Basic Editor од табулаторот Програмер и Вметнете Модул во прозорецот за код.
  • Потоа, во прозорецот со код, копирајте следниов код и залепете го .
3616

Вашиот код сега е подготвен за извршување .

  • Подоцна, Изврши макрото.
  • Ќе ја стартува циклусот и ќе го запре кога ја наоѓа специфичната вредност („ Edge “) во опсегот и го фрла резултатот во MsgBox .

Како што можете да видите од сликата погоре, има скокачки MsgBox што ви ја покажува адресата на ќелијата, $B$10 , каде што најдовме наведената вредност, Edge .

Објаснување на VBA код

1437

Дефинирајте го променлива.

9138

Овој дел од кодот е тука за вртење низ редовите од 1 до 15. Ако го најде конкретниот збор„ Edge “ потоа го пренесува резултатот со адресата на ќелијата што го содржи зборот. Продолжува да го прави тоа додека не заврши со скенирање на сите податоци од редовите 1 до 15 при пребарување на зборот.

Прочитајте повеќе: Како да вметнете или избришете редови и колони од табелата на Excel

6. VBA да се преврти низ секој ред и да се обои одредена вредност во Excel

Што ако не сакате да ја фрлите адресата на ќелијата на одредената вредност во MsgBox? Можеби ќе сакате да ја обоите ќелијата што ја носи вредноста што ја барате.

Ајде да научиме како да го направиме тоа со VBA макрото.

Чекори:

  • Исто како и претходно, отворете го Visual Basic Editor од картичката Developer и Вметни Модул во прозорецот со код.
  • Потоа, копирајте следниов код и залепете го во прозорецот со код.
9630

Вашиот код сега е подготвен за извршување.

  • Потоа, Изврши макрото.
  • Ќе ја стартува јамката и ќе ја запре кога ќе ја најде специфичната вредност („ Edge “) во опсегот и ќе ја обои ќелијата со ColorIndex што го наведовте во кодот.

Како што можете да видите од сликата погоре, C ell B10 , каде што ја најдовме наведената вредност, Edge “ е обоен по извршувањето на кодот.

Објаснување на VBA кодот

6168

Дефинирајте го

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.