Съдържание
Ако търсите някои от най-лесните начини за използване на VBA Range Offset, тогава тази статия ще си заслужава. Нека започнем с начините за използване на VBA Отместване на обхвата.
Изтегляне на работна тетрадка
VBA Range Offset.xlsm11 начина за използване на VBA Range Offset
Разполагам със следната таблица с данни, съдържаща информация за някои студенти от един колеж. Използвайки този набор от данни, ще обясня начините за използване на VBA Отместване на обхвата.
За тази цел използвах Microsoft Excel 365 версия, можете да използвате и други версии според удобството си.
Метод-1: Избиране на клетка чрез използване на VBA Range
Тук ще изберем клетка, съдържаща името Даниел Дефо. За тази цел ще използваме Функция RANGE в VBA .
Стъпка-01 :
➤Отидете на Разработчик Tab>> Visual Basic Опция
След това Редактор на Visual Basic ще се отвори.
➤Отидете на Вмъкване на Tab>> Модул Опция
След това Модул ще бъдат създадени.
Стъпка-02 :
➤Напишете следния код
Sub SelectCell() Range("B8").Select End Sub
Тя ще избере клетка B8 .
➤Press F5
Резултат :
По този начин ще получите клетката, съдържаща Даниел Дефо избрани.
Прочетете повече: Как да използвате обекта Range на VBA в Excel
Метод-2: Избиране на група от съседни клетки чрез използване на VBA Range
Можете да изберете диапазон от съседни клетки като Име на ученика колона и Резултат колона в следващата таблица, като следвате този метод.
Стъпка-01 :
➤Следване Стъпка-01 на Метод-1
Sub ContiguousCells() Range("B5:C10").Select End Sub
Той ще избере клетките от B5 към C10 .
➤Press F5
Резултат :
След това ще получите клетките в Колона B и Колона C избрани.
Метод-3: Избиране на група от несъседни клетки чрез използване на VBA Range
Да предположим, че искате да изберете учениците с име Уилям Дейвид и Майкъл Антъни включително съответните им Идентификатор на електронна поща За да изберете тези несъвпадащи клетки, можете да следвате този метод.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub
Той ще избере клетките B6 , D6 , B9, и D9 .
➤Press F5
Резултат :
След това ще получите клетките, съдържащи името на ученика. Уилям Дейвид , Майкъл Антъни, и съответните им Идентификатор на електронна поща избрани.
Метод-4: Избиране на група от несвързани клетки и диапазон с помощта на VBA Range
Чрез този метод можете да изберете едновременно диапазон от клетки и някои несвързани клетки.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub
Той ще избере обхвата от клетки в диапазона B5:B10 и другите две клетки D6 , D10 .
➤Press F5
Резултат :
След това ще получите клетките в колоната Име на ученика и две Идентификатори за електронна поща за Уилям Дейвид и Доналд Пол избрани.
Метод-5: Избиране на диапазон чрез използване на VBA Range Offset
Можете да изберете диапазон от клетки в Колона с името на ученика като използвате Функция OFFSET .
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub
Първоначално, Обхват("A1:A6") ще изберете обхвата A1:A6 , а след това Отместване(4, 1) ще преместите 4 реда надолу от клетката A1 и 1 колона вдясно. След това се добавят равен брой клетки в диапазона A1:A6 ще бъдат избрани от тук.
➤Press F5
Резултат :
По този начин ще изберете колоната Име на ученика .
Метод-6: Отрицателно отместване на обхвата на VBA
Можете да изберете Колона за имейл идентификация като следвате този метод.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub
Първоначално, Обхват("F11:F16") ще изберете обхвата F11:F16 , а след това Отместване(-6, -2) ще преместите 6 реда нагоре от клетката F11 и 2 колони от лявата страна. След това, равният брой клетки в диапазона F11:F16 ще бъдат избрани от тук.
➤Press F5
Резултат :
След това ще можете да изберете колоната Идентификатор на електронна поща .
Подобни четива:
- VBA за всяка клетка в обхвата в Excel (3 метода)
- Как да броим текст в Excel (7 лесни трика)
Метод-7: Избиране на диапазон по отношение на активната клетка
Тук имаме активна клетка (клетка A1 ) и по отношение на тази клетка ще изберем диапазона от данни по този метод.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub
Тук, activecell е A1
Първа част activecell.Offset(4, 1) ще избере клетка, разположена на 4 реда надолу и 1 колона надясно от клетката A1 и втората част activecell.Offset(9, 3) ще избере клетка с 9 реда надолу и 3 колони надясно от клетката A1 .
Накрая ще бъдат избрани всички клетки между тези две клетки.
➤Press F5
Резултат :
След това ще можете да изберете целия диапазон от данни.
Метод-8: Копиране на диапазон
Ако искате да копирате диапазон от клетки, можете да приложите този метод.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub
Първоначално, Обхват("A1:A6") ще изберете диапазона A1:A6 , а след това Отместване(4, 1) ще преместите 4 реда надолу от клетката A1 и 1 колона вдясно. След това се добавят равен брой клетки в диапазона A1:A6 ще бъдат избрани от тук.
Накрая ще копира стойностите в диапазона B5:B10 .
➤Press F5
Резултат :
След това ще можете да копирате диапазона от данни в Колона с името на ученика .
Метод-9: Изтриване на диапазон
Тук ще покажем начина за изтриване на диапазон от данни с помощта на VBA код.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub
На първо място, Обхват("F11:F17") ще изберете обхвата F11:F17 , а след това Отместване(-7, -2) ще преместите 7 реда нагоре от клетката F11 и 2 колони от лявата страна. След това, равният брой клетки в диапазона F11:F17 ще бъдат избрани от тук.
Накрая ще изтрие диапазона D4:D10 .
➤Press F5
Резултат :
По този начин ще копирате диапазона от данни в Колона за имейл идентификация .
Метод-10: Използване на VBA Range Offset за въвеждане на стойност
Тук имаме празна клетка (премахнахме стойността в тази клетка, за да обясним този метод) в Колона с името на ученика и искаме да го попълним с името Джоузеф Майкъл . Чрез използване на VBA код можем лесно да въведем тази стойност.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub
На първо място, Обхват("A1") ще изберете клетката A1 , а след това Отместване(6, 1) ще преместите 6 реда надолу от клетката A1 и 1 колона вдясно. След това в клетката B7 ще бъде избрана и накрая ще се въведе стойността "Джоузеф Майкъл" в тази клетка.
➤Press F5
Резултат :
По този начин ще получите името Джоузеф Майкъл в клетка B7 .
Метод-11: Използване на VBA Range Offset за получаване на изходни данни
Да предположим, че искате да напишете Преминато или Не успя да кореспондира към имената на учениците в зависимост от Колона с резултати където Преминете през или Fail е изписан в скоба. За да намерите този подниз в Колона с резултати и го запишете в Колона Pass/Fail следвайте този метод.
Стъпка-01 :
➤Последвайте Стъпка-01 на Метод-1
Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub
Тук диапазонът от клетки C5:C10 се избира от Обхват("C5:C10") което е Колона с резултати
InStr(cell. value, "Pass")> 0 е условието, при което числото е по-голямо от нула (когато клетката съдържа "Pass" ), тогава следващият ред ще продължи и ще даде резултата в съседната клетка като Преминато . Тук съседната клетка ще бъде избрана чрез Cell.Offset(0, 1) , което означава, че ще се премести с 1 колона надясно от входната клетка.
Ако условието стане невярно, означава, че клетката не съдържа "Pass" след това редът под В противен случай ще се изпълни и ще даде изходната стойност в съседната клетка като Неуспешен .
Този цикъл ще продължи за всяка клетка.
➤Press F5
Резултат :
След това ще получите следните резултати Приет или отхвърлен в Преминал/непреминал колона.
Практически раздел
За да практикувате сами, сме предоставили Практика раздел, както е показано по-долу, в лист с име Практика . Моля, направете го сами.
Заключение
В тази статия се опитах да опиша най-лесните начини за използване на VBA ефективно отместване на диапазона в Excel. Надявам се, че ще ви бъде полезно. Ако имате някакви предложения или въпроси, не се колебайте да ги споделите с нас.