Функция VBA OFFSET - Как да използвам свойството за компенсиране на VBA на Excel (пример)

Функция VBA OFFSET на Excel

Функцията VBA Offset се използва за преместване или препратка към препратка, прескачаща определен брой редове и колони, аргументите за тази функция във VBA са същите като на аргументите в работния лист.

Да приемем например, че имате набор от данни като този по-долу.

Сега от клетка А1 искате да се придвижите надолу с 4 клетки и искате да изберете тази 5 -та клетка, т.е. клетка А5.

По същия начин, ако искате да се придвижите надолу от клетка А1 2 реда и да отидете 2 колони вдясно и да изберете тази клетка, т.е. клетка С2.

В тези случаи функцията OFFSET е много полезна. Особено във VBA OFFSET Функцията е просто феноменална.

OFFSET се използва с Range Object в Excel VBA

Във VBA не можем директно да въведем думата OFFSET. Първо трябва да използваме обекта VBA RANGE и от този обект диапазон можем да използваме свойството OFFSET.

В Excel, диапазонът не е нищо друго освен клетка или диапазон на клетката. Тъй като OFFSET се отнася до клетки, първо трябва да използваме обекта RANGE и след това можем да използваме метода OFFSET.

Синтаксис на OFFSET във VBA Excel

  • Изместване на реда: Колко реда искате да изместите от избраната клетка. Тук избраната клетка е A1, т.е. обхват („A1“).
  • Изместване на колона: Колко колони искате да компенсирате от избраната клетка. Тук избраната клетка е A, 1, т.е. Range („A1“).

Примери

Пример # 1

Помислете за данните по-долу, например демонстрация.

Сега искам да избера клетка A6 от клетка A1. Стартирайте макроса и референтната клетка, като използвате обекта Range.

Код:

Sub Offset_Example1 () Обхват ("A1"). Офсет (End Sub

Сега искам да избера клетка A6, т.е. искам да намаля 5 клетки. Така че въведете 5 като параметър за изместване на реда.

Код:

Sub Offset_Example1 () Обхват ("A1"). Offset (5 Краен Sub

Тъй като избирам в същата колона, оставям частта от колоната. Затворете скобата и поставете точка (.) И въведете метода „Избор“.

Код:

Sub Offset_Example1 () Обхват ("A1"). Offset (5). Изберете End Sub

Сега стартирайте този код, като използвате клавиша F5, или можете да стартирате ръчно, за да изберете клетката A6, както е показано по-долу.

Изход:

Пример # 2

Сега вземете същите данни, но тук ще видим как да използваме и аргумента за изместване на колоната. Сега искам да избера клетката C5.

Тъй като първо искам да избера клетката C5, искам да се преместя надолу с 4 клетки и да взема 2 десни колони, за да достигна клетката C5. Кодът по-долу ще ми свърши работа.

Код:

Sub Offset_Example2 () Обхват ("A1"). Offset (4, 2). Изберете End Sub

Пускам този код ръчно или използвайки клавиша F5. След това ще избере клетката C5, както е показано на екрана по-долу.

Изход:

Пример # 3

Видяхме как да компенсираме редове и колони. Също така можем да изберем горните клетки и от посочените клетки. Например, ако сте в клетка A10 и искате да изберете клетка A1, как да изберете?

В случай на придвижване надолу по клетката, можем да въведем положително число, така че тук в случай на придвижване нагоре трябва да въведем отрицателни числа.

От клетка A9 трябва да се придвижим с 8 реда нагоре, т.е. -8.

Код:

Sub Offset_Example1 () Обхват ("A9"). Offset (-8). Изберете End Sub

Ако стартирате този код с помощта на клавиша F5 или можете ръчно да го стартирате, той ще избере клетката A1 от клетката A9.

Изход:

Пример # 4

Да приемем, че сте в клетката C8. От тази клетка искате да изберете клетката A10.

От активната клетка, l, т.е. клетката C8, първо трябва да се преместим надолу с 2 реда и трябва да се преместим вляво с 2 колони, за да изберем клетката A10.

В случай на преместване наляво, за да изберете колоната, трябва да посочим, че числото е отрицателно. Така че тук трябва да се върнем с -2 колони.

Код:

Sub Offset_Example2 () Обхват ("C8"). Offset (2, -2). Изберете End Sub

Сега стартирайте този код с помощта на клавиша F5 или стартирайте ръчно, той ще избере клетка A10, както е показано по-долу:

Изход:

Неща за запомняне

  • В случай на преместване на редове, трябва да посочим броя в отрицателни числа.
  • В случай на преместване наляво, за да изберете колоната, числото трябва да е отрицателно.
  • Клетката A1 е първият ред и първата колона.
  • Активна клетка означава в момента избрани клетки.
  • Ако искате да изберете клетката с помощта на OFFSET, трябва да споменете „.Изберете.“
  • Ако искате да копирате клетката с помощта на OFFSET, трябва да споменете „.Copy.“

Интересни статии...