Uzyskaj wartość komórki w Excel VBA (przykłady krok po kroku)

Uzyskaj wartość komórki dzięki Excel VBA

Komórka to pojedyncza komórka, a także część zakresu. Technicznie istnieją dwie metody interakcji z komórką w języku VBA: metoda zakresu i metoda komórki, metoda zakresu jest używana podobnie jak zakres („A2”) .Value, która da nam wartość komórki A2 lub możemy użyć metody cell jako cells (2,1) .value, która również da nam wartość komórek A2.

Niezależnie od tego, czy jest to praca w programie Excel, czy praca w VBA, wszyscy potrzebujemy pracy z komórką lub komórkami, ponieważ wszystkie dane będą przechowywane w komórkach, więc wszystko sprowadza się do tego, jak dobrze wiemy o komórkach w VBA. Jeśli więc komórki są tak kluczową częścią VBA, ważne jest, aby dobrze je zrozumieć, a jeśli jesteś początkującym w odniesieniu do komórek VBA, ten artykuł poprowadzi Cię, jak uzyskać wartości komórek w Excel VBA w Szczegół.

Po pierwsze, możemy odwoływać się lub pracować z komórkami w VBA na dwa sposoby, tj. Używając właściwości CELLS i obiektu RANGE. Dlaczego CELLS jest własnością i dlaczego RANGE jest przedmiotem to inna analogia. W dalszej części artykułu dojdziemy do tego punktu.

Przykłady uzyskiwania wartości komórki w Excel VBA

Poniżej znajdują się przykłady uzyskiwania wartości komórki w Excel VBA.

Przykład 1 - użycie właściwości RANGE lub CELLS

Na przykład w komórce A1 mamy wartość „Indie”.

Aby odwołać się do tej komórki, możemy użyć właściwości CELLS lub obiektu RANGE. Zobaczmy szczegółowo oba z nich.

Korzystanie z właściwości Range

Najpierw uruchom procedurę makra.

Kod:

Sub Get_Cell_Value () End Sub

Teraz otwórz obiekt RANGE.

Kod:

Sub Get_Cell_Value () Range (End Sub

Pierwszym argumentem tego obiektu jest „Cell1”, czyli do której komórki się odnosimy. W tym przypadku jest to komórka A1, więc musimy podać adres komórki w cudzysłowach dla obiektu RANGE.

Kod:

Sub Get_Cell_Value () Range ("A1") End Sub

Ponieważ tylko jedna komórka odwołuje się do innych parametrów, jest nieistotna, zamknij nawias i umieść kropkę, aby wyświetlić listę IntelliSense.

Jak widać powyżej, w momencie wstawienia kropki możemy zobaczyć całą dostępną listę właściwości i metod obiektu range IntelliSense.

Ponieważ wybieramy komórkę, musimy wybrać metodę „SELECT” z listy IntelliSense.

Kod:

Sub Get_Cell_Value () Range („A1”). Wybierz End Sub

Teraz wybierz komórkę inną niż A1 i uruchom kod.

Nie ma znaczenia, którą komórkę wybrałeś w momencie uruchomienia kodu. Wybrał wspomnianą komórkę, czyli komórkę A1.

Korzystanie z właściwości komórek

Podobnie używamy teraz właściwości CELLS.

Kod:

Sub Get_Cell_Value () Range ("A1"). Wybierz komórki (End Sub

Jest to w przeciwieństwie do obiektu RANGE, w którym moglibyśmy bezpośrednio podać adres komórki, ale używając tej właściwości CELLS, nie możemy tego zrobić.

Pierwszym argumentem tej właściwości jest „Row Index”, tj. Do którego wiersza się odnosimy. Ponieważ wybieramy komórkę A1, odnosimy się do pierwszego wiersza, więc wspomnij o 1.

Następnym argumentem jest „Indeks kolumny”, tj. Do której kolumny się odnosimy. Kolumna komórki A1 to pierwsza kolumna, więc wpisz 1.

Nasz kod czyta CELLS (1, 1), tj. Pierwszy wiersz, pierwsza kolumna = A1.

Teraz umieść kropkę i zobacz, czy zobaczysz listę IntelliSense, czy nie.

W przypadku właściwości CELLS nie widzimy żadnej listy IntelliSense, więc musimy mieć absolutną pewność, co piszemy. Jako metodę wprowadź „Select”.

Kod:

Sub Get_Cell_Value () Range ("A1"). Wybierz komórki (1, 1). Wybierz End Sub

Spowoduje to również zaznaczenie komórki A1.

Przykład # 2 - Uzyskaj wartość z komórki w Excel VBA

Pierwszą rzeczą, której się nauczyliśmy, jest wybieranie, teraz zobaczymy, jak uzyskać wartość z komórek. Zanim wybierzemy komórkę, musimy zdefiniować zmienną do przechowywania wartości z komórki.

Kod:

Sub Get_Cell_Value1 () Dim CellValue As String End Sub

Teraz wspomnij o adresie komórki używając obiektu RANGE lub właściwości CELLS. Ponieważ jesteś początkującym, używaj obiektu RANGE tylko dlatego, że w przypadku obiektu RANGE możemy zobaczyć listę IntelliSense.

Dla zdefiniowanej zmiennej umieść znak równości i podaj adres komórki.

Kod:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") End Sub

Ponownie umieść kropkę, aby wyświetlić listę IntelliSense.

Z listy VBA IntelliSense wybierz właściwość „Wartość”, aby pobrać wartość ze wspomnianej komórki.

Kod:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range („A1”). Value End Sub

Teraz zmienna „CellValue” przechowuje wartość z komórki A1. Pokaż tę wartość zmiennej w oknie komunikatu w VBA.

Kod:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Wartość MsgBox CellValue End Sub

OK, uruchom kod i zobacz wynik w oknie komunikatu.

Ponieważ w komórce A1 znajduje się wartość „INDIA”, to samo pojawiło się również w oknie komunikatu. W ten sposób, na podstawie wartości VBA komórki, możemy uzyskać wartość komórki.

Przykład # 3 - Pobierz wartość z jednej komórki do innej komórki

Wiemy, jak uzyskać wartość z komórki za pomocą VBA. Teraz pytanie brzmi, jak wstawić wartość do komórki. Weźmy tylko ten sam przykład. W komórce A1 musimy wstawić wartość „INDIE” i można to zrobić z poniższego kodu.

Kod:

Sub Get_Cell_Value2 () Range („A1”). Value = „INDIA” End Sub

Spowoduje to wstawienie wartości „INDIE” do komórki A1. Podobnie, aby pobrać wartość z jednej komórki do drugiej, możemy napisać kod jak poniżej.

Kod:

Sub Get_Cell_Value2 () Range („A5”). Value = Range („A1”). Value End Sub

Pozwól, że wyjaśnię ci kod.

„W przypadku komórki A5 potrzebujemy wartości pochodzącej z wartości komórki A1” to wszystko, co mówi ten kod. Dzięki temu uzyskasz wartość z komórki A1 do A5 za pomocą kodu VBA.

Rzeczy do zapamiętania

  • Wstawienie wartości do komórek i pobranie wartości z komórki wymaga użycia właściwości VBA „VALUE”.
  • Korzystając z właściwości CELLS, możemy wybrać tylko jedną komórkę, ale za pomocą obiektu RANGE. Możemy wybrać wiele komórek.

Interesujące artykuły...