Komórki VBA

Komórki są w rzeczywistości komórkami arkusza roboczego, aw VBA, kiedy odwołujemy się do komórek jako właściwości zakresu, w rzeczywistości odnosimy się do dokładnych komórek, innymi słowy, komórka jest używana z właściwością range, a metoda używania właściwości komórek jest następująca Range ( Komórki (1,1)) teraz komórki (1,1) oznaczają, że komórka A1, pierwszy argument dotyczy wiersza, a drugi odwołania do kolumny.

Odniesienia do komórek w języku VBA

Nie potrzebujesz żadnego specjalnego wprowadzenia na temat tego, czym jest komórka VBA. W koncepcjach VBA komórki również są takie same, nie różnią się od zwykłych komórek programu Excel. Postępuj zgodnie z tym artykułem, aby uzyskać więcej informacji na temat koncepcji komórek VBA.

Co to jest zakres VBA i komórka VBA?

Jestem pewien, że to jest pytanie, które teraz przychodzi ci do głowy. W VBA Zakres jest obiektem, ale Komórka jest właściwością w arkuszu Excela. W VBA mamy dwa sposoby odwoływania się do obiektu komórki, jeden to Range, a drugi to Cells.

Na przykład, jeśli chcesz odwołać się do komórki C5, możesz użyć dwóch metod, aby odwołać się do komórki C5.

Korzystanie z metody zakresu: zakres („C5”)

Korzystanie z metody komórek: komórki (5, 3)

Podobnie, jeśli chcesz wstawić wartość „Hi” do komórki C5, możesz użyć poniższego kodu.

Korzystanie z metody zakresu: zakres („C5”). Wartość = „Hi”

Korzystanie z metody komórek: Cells (5, 3) .Value = „Hi”

Teraz, jeśli chcesz zaznaczyć wiele komórek, możemy wybrać tylko za pomocą obiektu Range. Na przykład, jeśli chcę zaznaczyć komórki od A1 do A10, poniżej znajduje się kod.

Kod: Zakres („A1: A10”) Wybierz

Ale niestety możemy odwoływać się tylko do jednej komórki naraz, używając właściwości CELLS. Możemy użyć Cells z obiektem Range, jak poniżej

Zakres („A1: C10”). Komórki (5,2) oznaczają piąty wiersz i drugą kolumnę zakresu od A1 do C10, np. Komórka B5.

Formuła właściwości CELLS w języku VBA

Spójrz na wzór właściwości KOMÓRKI.

  • Indeks wierszy: to nic, ale do którego wiersza się odnosimy.
  • Indeks kolumn: to nic oprócz kolumny, do której się odnosimy.
  • Komórki (1, 1) oznaczają komórkę A1, komórki (2, 1) oznaczają komórkę A2, komórki (1, 2) oznaczają komórkę B1.
  • Komórki (2, 2) oznaczają komórkę B2, komórki (10, 3) oznaczają komórkę C10, komórki (15, 5) oznaczają komórkę E15.

# 1 - Jak korzystać z właściwości CELLS w VBA?

Teraz nauczę cię, jak używać właściwości CELLS w VBA.

Możesz pobrać ten szablon VBA Cells Excel tutaj - VBA Cells Excel Template

Załóżmy, że pracujesz z nazwą arkusza o nazwie Dane 1  i chcesz wstawić wartość „Hello” do komórki A1.

Poniższy kod zrobiłby to za Ciebie.

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

Wynik:

Teraz przejdę do nazwy arkusza o nazwie Dane 2 i uruchomię kod. Nawet tam wstawi słowo „Hello”.

W rzeczywistości możemy również połączyć właściwość CELLS z nazwą konkretnego arkusza. Aby odnieść się do konkretnego arkusza, użyj obiektu WORKSHEET.

Arkusze robocze („Dane 1”). Komórki (1,1). Wartość = „Witaj”

Spowoduje to wstawienie słowa „Hello” do arkusza „Data 1” niezależnie od tego, w którym arkuszu się znajdujesz.

# 2 - Jak używać właściwości CELLS z obiektem Range?

Właściwie możemy użyć właściwości CELLS z obiektem RANGE. Na przykład spójrz na poniższy kod.

Zakres („C2: E8”). Komórki (1, 1). Wybierz

Dla lepszego zrozumienia wpisałem kilka liczb w arkuszu Excela.

Powyższy kod Zakres („C2: E8”). Komórki (1, 1) .Wybierz mówi w zakresie C2 do E8 wybierz pierwszą komórkę. Uruchom ten kod i zobacz, co się stanie.

 Sub Cells_Example () Range ("C2: E8"). Cells (1, 1). Select End Sub 

Wybrał komórkę C2. Ale Cells (1, 1) oznacza komórkę A1, prawda?

Powód, dla którego wybrał komórkę C2, ponieważ używając obiektu zakresu nalegaliśmy na zakres jako od C2 do E8, więc właściwość Cells traktuje zakres od C2 do E8, a nie zwykłą komórkę A1. W tym przykładzie C2 to pierwszy wiersz i pierwsza kolumna, więc Cells (1, 1) .select oznacza komórkę C2.

Teraz zmienię kod na Range („C2: E8”) .Komórki (3, 2) .Wybierz i zobacz, co się stanie.

Uruchom ten kod i sprawdź, którą komórkę faktycznie wybierze.

 Sub Cells_Example () Range („C2: E8”). Cells (3, 2). Select End Sub 

Wybrał komórkę D4, tj. Nr 26. Komórki (3,2) oznaczają, że zaczyna się od komórki C2 przesuniętej o 3 rzędy w dół i przesunięto o 2 kolumny w prawo, czyli komórkę D4.

# 3 - Właściwość komórek z pętlami

Właściwość CELLS z pętlami ma bardzo dobre relacje w VBA. Spójrzmy na przykład wstawiania numerów seryjnych od 1 do 10 za pomocą FOR LOOP. Skopiuj i wklej poniższy kod do swojego modułu.

 Sub Cells_Example () Dim i As Integer For i = 1 to 10 Cells (i, 1) .Value = i Next i End Sub 

Tutaj zadeklarowałem zmienną I jako liczbę całkowitą.

Następnie zastosowałem FOR LOOP z I = 1 do 10, czyli pętla musi działać 10 razy.

Komórki (i, 1). Wartość = i

Oznacza to, że gdy pętla zostanie uruchomiona po raz pierwszy, wartość „I” będzie wynosić 1, więc gdziekolwiek wartość „I” będzie równa 1, tj. Cell (1,1). Value =

Kiedy pętla zwraca wartość „I” po raz drugi, jest to 2, więc gdziekolwiek jest wartość „I”, jest to 2. i .e. Cell (2,1) .value = 2

Ta pętla będzie działać 10 razy i wstawi wartość I od A1 do A10.

Rzeczy do zapamiętania w komórkach VBA

  • CELLS jest własnością, ale RANGE jest obiektem. Możemy używać własności z obiektami, ale nie możemy jej sprzeciwiać się.
  • Gdy podany zostanie zakres, komórki będą uwzględniać tylko ten zakres, a nie zwykły zakres.
  • Cells (1, 2) to komórka B1, podobnie Cells (1, „B”) to także komórka B1.