ВБА хипервезе | Како створити хипервезу у програму Екцел помоћу ВБА кода?

Хипервезе су УРЛ који је везан за вредност која се види када задржите показивач миша изнад ње и када кликнемо на њу, УРЛ се отвара, у ВБА имамо уграђено својство за стварање хипервеза у ВБА и за коришћење овог својства користимо методу Адд заједно са израз хипервеза за уметање хипервезе у ћелију.

Хипервезе у програму Екцел ВБА

Иако у Екцелу имамо пречицу Паге Уп & Паге Довн у Екцел-у за прелазак са једног листа на други. Али постаје сложено када морамо да пређемо између 10 на више радних листова. Ту долази до лепоте „Хипервеза у Екцелу“. Хипервеза је унапред одређена УРЛ адреса која вас води до одговарајуће ћелије или радног листа како је додељена.

Сви знамо како да направимо хипервезе на радном листу за брзи прелазак са једног на други лист, а можете и на било који други лист. Али у данашњем чланку ћемо вам показати како да креирате хипервезе помоћу ВБА кодирања.

Формула ВБА хипервеза

Погледајмо формулу хипервеза у програму Екцел ВБА.

  • Сидро: У којој ћелији желите да направите хипервезу.
  • Адреса: Који је УРЛ хипервезе за навигацију?
  • [Суб адреса]: Која је локација странице?
  • [Савет за екран]: Која ће се вредност приказати када поставите показивач миша на име или ћелију хипервезе?
  • [Текст за приказ]: Који ће се тест приказати у ћелији? На пример Назив радног листа.

Како створити хипервезе у програму Екцел ВБА?

Овај ВБА образац хипервеза можете преузети овде - ВБА шаблон хипервеза

Претпоставимо да желите да направите ВБА хипервезу до листа под називом „Главни лист“ од другог листа „Пример 1“.

У радном листу „Пример 1“ и у ћелији А1 креираћу хипервезу користећи Цоде у ВБА.

Корак 1: Прво изаберите ћелију А1 радног листа Пример 1.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите Енд Суб 

Корак 2: Сада помоћу активних ћелија отворених хипервеза. додај метод.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите АцтивеЦелл.Хиперлинкс.Адд (Енд Суб 

Корак 3: Први аргумент је „Усидри“, тј. у коју ћелију бисмо се повезали да бисмо креирали ВБА хипервезу. У овом случају ћелија А1 и пошто смо већ изабрали ћелију А1 да је споменемо као „Избор“.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите АцтивеЦелл.Хиперлинкс.Адд (Селецтион, Енд Суб 

Корак 4: Овде не стварамо ниједну адресу, па занемарите адресу од сада.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите АцтивеЦелл.Хиперлинкс.Адд Анцхор: = Селецтион, Аддресс: = "", Енд Суб 

Корак 5: Следећа је Суб адреса. Овде треба да поменемо на који се лист позивамо и прву ћелију тог листа.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите АцтивеЦелл.Хиперлинкс.Адд Анцхор: = Селецтион, Аддресс: = "", СубАддресс: = "'Маин Схеет'! А1", Енд Суб 

Име листа поменуо сам као „Главни лист“ и у тој адреси ћелије је „А1“.

Корак 6: Игнориши и савет екрана. Да би се текст приказао, наведите име листа.

Шифра:

 Суб Хиперлинк_Екампле1 () Радни листови ("Пример 1"). Изаберите опсег ("А1"). Изаберите АцтивеЦелл.Хиперлинкс.Адд Анцхор: = Селецтион, Аддресс: = "", СубАддресс: = "'Маин Схеет'! А1", ТектТоДисплаи : = "Главни лист" Крај под 

У реду, покрените овај код помоћу тастера Ф5 или ручно, створиће хипервезу у ћелији А1 у листу „Пример 1“.

Када кликнете на Хипервезу „Главни лист“, она се преусмерава на главни лист.

Хипервезе више листова са петљама

Видели смо како се ствара ВБА хипервеза за један лист. Када имамо много листова, тешко је створити ВБА хипервезу за сваки лист са истим редом кода за сваки лист.

Претпоставимо да имате 11 радних листова као што је приказано на доњој слици.

Желите да креирате хипервезу за сваки лист у Индекс лист помоћу ВБА кода.

Корак 1: Дефинишите променљиву као радни лист.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс ас Ворксхеет Енд Суб 

Корак 2: Прва ствар је одабрати индекс радног листа и одабрати ћелију А1.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс Ас Ворксхеет Ворксхеетс ("Индек"). Изаберите опсег ("А1"). Изаберите Енд Суб 

Корак 3: Сада отворите за сваку петљу у ВБА.

Шифра:

 Суб Цреате_Хиперлинк () Затамни радне листове као радни лист ("Индекс"). Изаберите опсег ("А1"). Изаберите за сваки В у активној радној књизи. 

Корак 4: Пошто смо већ изабрали ћелију А1, она је сада активна. Покрените хипервезу са активном ћелијом.

Шифра:

 Суб Цреате_Хиперлинк () Затамни радне листове као радни лист ("Индекс"). Изаберите опсег ("А1"). Изаберите за сваки В у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд (Нект Вс Енд Суб 

Корак 5: Сидро је хипервезна ћелија. Дакле, то је активна ћелија.

Шифра:

 Суб Цреате_Хиперлинк () Затамни В као радне листове радног листа ("Индекс"). Одаберите опсег ("А1"). Изаберите за сваки В у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд Анцхор: = АцтивеЦелл, Нект Вс Енд Суб 

Корак 6: Адреса је ништа, спомените је као „“.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс Ас Ворксхеет Ворксхеетс ("Индек"). Изаберите опсег ("А1"). Изаберите за сваки Вс у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд Анцхор: = АцтивеЦелл, Аддресс: = "", Нект Вс Енд Суб 

Корак 7: Субадреса је када пролазимо кроз лист, то би требало да буде име листа. Да бисмо упутили назив листа, потребан нам је један наводник “”Са називом листа и„! Адреса ћелије ”и затворите назив листа једним наводником“”.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс Ас Ворксхеет Ворксхеетс ("Индек"). Изаберите опсег ("А1"). Изаберите за сваки Вс у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд Анцхор: = АцтивеЦелл, Аддресс: = "", СубАддресс: = "" & Вс.Наме & "! А1" & "", Нект Вс Енд Суб 

Корак 8: Игнориши савет екрана и за приказ текста можете унети име радног листа.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс Ас Ворксхеет Ворксхеетс ("Индек"). Изаберите опсег ("А1"). Изаберите за сваки Вс у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд Анцхор: = АцтивеЦелл, Аддресс: = "", СубАддресс: = "" & Вс.Наме & "! А1" & "", СцреенТип: = "", ТектТоДисплаи: = Вс.Наме Следећи Вс Енд Суб 

Корак 9: Да бисмо хипервезу сваког листа ускладиштили у другу ћелију сваки пут када хипервеза креирана за један лист треба да се померимо за једну ћелију надоле из активне ћелије.

Шифра:

 Суб Цреате_Хиперлинк () Дим Вс Ас Ворксхеет Ворксхеетс ("Индек"). Изаберите опсег ("А1"). Изаберите за сваки Вс у АцтивеВоркбоок.Ворксхеетс АцтивеЦелл.Хиперлинкс.Адд Анцхор: = АцтивеЦелл, Аддресс: = "", СубАддресс: = "" & Вс.Наме & "! А1" & "", СцреенТип: = "", ТектТоДисплаи: = Вс.Наме АцтивеЦелл.Оффсет (1, 0). Изаберите Нект Вс Енд Суб 

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