VBA клетки Excel - Как да използвам свойството за референтна клетка с обект за обхват?

Клетките всъщност са клетки на работния лист и във VBA, когато се позоваваме на клетките като свойство на диапазон, ние всъщност се позоваваме на точните клетки, с други думи, клетката се използва със свойството range и методът за използване на свойството клетки е както следва Range ( .Cells (1,1)) сега клетки (1,1) означава клетка A1, първият аргумент е за реда, а вторият е за препратка към колоната.

VBA референции за клетки

Не се нуждаете от специално въведение за това какво е VBA клетка. В концепциите на VBA клетките също са еднакви, не се различават от нормалните клетки на Excel. Следвайте тази статия, за да получите повече познания за концепцията за клетките VBA.

Какво е VBA диапазон и VBA клетка?

Сигурен съм, че това е въпросът, който тече в съзнанието ви в момента. Във VBA диапазонът е обект, но клетката е свойство в Excel лист. Във VBA имаме два начина за препращане към клетъчен обект, един през диапазон, а друг чрез клетки.

Например, ако искате да препратите към клетка C5, можете да използвате два метода за препратка към клетка C5.

Използване на метод за обхват: обхват (“C5”)

Използване на метод на клетки: клетки (5, 3)

По същия начин, ако искате да вмъкнете стойност „Hi“ в клетка C5, тогава можете да използвате кода по-долу.

Използване на метод за обхват: обхват (“C5”). Стойност = “Hi”

Използване на метод на клетки: клетки (5, 3). Стойност = „Здравей“

Сега, ако искате да изберете множество клетки, можем да избираме само чрез обекта Range. Например, ако искам да избера клетки от А1 до А10, по-долу е кодът.

Код: Обхват (“A1: A10”). Изберете

Но за съжаление можем да препращаме само една клетка наведнъж, като използваме свойството CELLS. Можем да използваме клетки с обект Range, както е показано по-долу.

Обхват („A1: C10"). Клетките (5,2) означават в диапазона от A1 до C10 пети ред и втора колона, т.е. клетка B5.

Формулата на свойството на КЛЕТКИ във VBA

Разгледайте формулата на свойството КЛЕТКИ.

  • Индекс на редовете: Това нищо друго освен кой ред реферираме.
  • Индекс на колона: Това нищо друго освен коя колона се позоваваме.
  • Клетки (1, 1) означава клетка А1, клетки (2, 1) означава клетка А2, клетки (1, 2) означава клетка В1.
  • Клетки (2, 2) означава клетка B2, клетки (10, 3) означава клетка C10, клетки (15, 5) означава клетка E15.

# 1 - Как да използвам свойството CELLS във VBA?

Сега ще ви науча как да използвате тези свойства на CELLS във VBA.

Да предположим, че работите с името на листа, наречено Data 1, и искате да вмъкнете стойност „Hello“ в клетката A1.

Кодът по-долу би направил това вместо вас.

Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub

Резултат:

Сега ще отида на името на листа, наречено Data 2, и ще стартирам кода. Дори там ще вмъкне думата „Здравей“.

Всъщност можем да комбинираме свойството CELLS и с конкретно име на лист. За да препратите конкретен лист, използвайте обекта WORKSHEET.

Работни листове („Данни 1“). Клетки (1,1). Стойност = „Здравейте“

Това ще вмъкне думата „Здравейте“ в листа „Данни 1“, независимо в кой лист се намирате.

# 2 - Как да използвам свойството CELLS с обект за обхват?

Всъщност можем да използваме свойството CELLS с обект RANGE. Например погледнете кода по-долу.

Обхват ("C2: E8"). Клетки (1, 1). Изберете

За по-добро разбиране съм въвел няколко числа в Excel листа.

Горният код Диапазон („C2: E8"). Клетки (1, 1). Изберете казва в диапазона C2 до E8 изберете първата клетка. Изпълнете този код и вижте какво ще се случи.

Sub Cells_Example () Диапазон ("C2: E8"). Клетки (1, 1). Изберете End Sub

Той е избрал клетката C2. Но Cells (1, 1) означава клетка A1, нали?

Причината да е избрала клетката C2, тъй като използвайки обект за диапазон, ние настоявахме за диапазона като C2 до E8, така че свойството Cells третира диапазона от C2 до E8, а не от обикновена клетка A1. В този пример C2 е първият ред и първата колона, така че Cells (1, 1) .select означава клетка C2.

Сега ще сменя кода на Range („C2: E8"). Клетки (3, 2). Изберете и вижте какво ще се случи.

Изпълнете този код и проверете коя клетка всъщност ще избере.

Sub Cells_Example () Диапазон ("C2: E8"). Клетки (3, 2). Изберете End Sub

Той е избрал клетката D4, т.е. № 26. Клетките (3,2) означават започване от C2 клетка, преместена надолу с 3 реда и преместване на 2 колони вдясно, т.е.

# 3 - Свойство на клетки с цикли

Свойството CELLS с цикли има много добри отношения във VBA. Нека разгледаме примера за вмъкване на серийни номера от 1 до 10 с помощта на FOR LOOP. Копирайте и поставете кода по-долу във вашия модул.

Sub Cells_Example () Dim i As Integer за i = 1 до 10 клетки (i, 1). Стойност = i Следващ i End Sub

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

След това кандидатствах FOR LOOP с I = 1 до 10 т.е., и цикълът трябва да се изпълни 10 пъти.

Клетки (i, 1) .value = i

Това означава, че когато цикълът се изпълни за първи път, стойността на „I“ ще бъде 1, така че където и да е стойността на „I“ е 1, т.е. Cell (1,1) .value = 1

Когато цикълът връща стойността на „I“ за втори път, тя е 2, така че където и да е стойността на „I“, тя е 2. т.е. Cell (2,1) .value = 2

Този цикъл ще се изпълни 10 пъти и ще вмъкне стойност I от А1 до А10.

Неща, които трябва да запомните в VBA клетките

  • КЛЕТКИТЕ е собственост, но ОБХВАТЪТ е обект. Можем да използваме свойство с обекти, но не и обект на свойството.
  • Когато диапазонът е предоставен, клетките ще вземат предвид само този диапазон, но не и редовния диапазон.
  • Клетки (1, 2) е клетка В1, подобно на клетки (1, „В”) също е клетка В1.

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