Клетките всъщност са клетки на работния лист и във 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.