Uzyskaj wartość komórki w Excel VBA

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.

Czy 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. Tak więc, jeśli 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 szczegółowo uzyskać wartości komórek w Excel VBA.

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 pobierania wartości komórki w Excel VBA

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

Możesz pobrać ten szablon VBA Get Cell Value Excel tutaj - VBA Get Cell Value Szablon Excel

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, przyjrzyjmy się im szczegółowo.

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, są nieistotne, więc zamknij nawias i umieść kropkę, aby zobaczyć listę Intellisense.

Jak widać powyżej, w momencie, gdy wstawimy kropkę, zobaczymy całą dostępną listę Intellisense właściwości i metod obiektu range.

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ę, tj. 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”, czyli 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ą, jakiej 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 

Podaj teraz adres komórki używając obiektu RANGE lub właściwości CELLS. Ponieważ jesteś początkującym użytkownikiem, użyj obiektu RANGE tylko dlatego, że dzięki obiektowi RANGE zobaczymy 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 przez wartość VBA komórki możemy uzyskać wartość komórki.

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

Wiemy, jak pobrać wartość z komórki za pomocą vba, teraz pytanie brzmi, jak wstawić wartość do komórki. Weźmy tylko ten sam przykład, dla komórki A1 musimy wstawić wartość „INDIA” 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 „INDIA” 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, która pochodzi 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 zaznaczyć tylko jedną komórkę, ale używając obiektu RANGE możemy zaznaczyć wiele komórek.