Wartość VBA
Podróż VBA zaczyna się od wiedzy, w jaki sposób wartości są przechowywane w komórkach. Dlatego znajomość funkcji VALUE w VBA ma większe znaczenie. Po przestudiowaniu właściwości VBA VALUE będziesz mógł dowiedzieć się, w jaki sposób wartości są przechowywane pod VBA. W tym artykule wyjaśniono wszystkie typy funkcji WARTOŚĆ w języku VBA, takie jak sposób przechowywania wartości w komórkach, możliwość ustawiania wartości, sposób wstawiania wartości i wiele innych.
Jak korzystać z funkcji Excel VBA Value?
Nauczymy się korzystać z funkcji VBA Value z kilkoma przykładami w Excelu.
Możesz pobrać ten szablon Excel VBA Value tutaj - szablon Excel VBA ValuePrzykład # 1 - Ustaw wartość komórki za pomocą funkcji Range.Value
Ustawienie wartości komórki / s za pomocą Range. Funkcja wartości z grubsza składa się z dwóch ważnych kroków:
- Ustawienie zakresu, w którym ma być przechowywana wartość.
- Przypisywanie wartości do zestawu zakresów.
Wykonaj poniższe kroki, aby ustawić wartość w Excel VBA:
Krok 1: Wstaw nowy moduł w Visual Basic Editor (VBE).
Krok 2: Zdefiniuj nową podprocedurę pod wstawionym modułem, aby można było w nim zapisać makro.
Kod:
Sub VBA_Value_Ex1 () End Sub
Krok 3: Zdefiniuj nową zmienną jako zakres, którego można użyć do zdefiniowania zakresu, w którym chcesz zapisać wartość.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range End Sub
Krok 4: Przy pomocy funkcji VBA RANGE przypisz komórki w zakresie do zmiennej zdefiniowanej za pomocą operatora przypisania.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Range („A1”) End Sub
Krok 5: Teraz użyj właściwości Range.Value, aby móc przypisać wartość do zdefiniowanego zakresu. Wpisz nazwę zmiennej „setValue_Var”, pod którą zdefiniowano zakres.
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Zakres („A1”) setValue_Var End Sub
Krok 6: Umieść kropkę (.) Za zmienną, aby móc wybrać listę funkcji IntelliSense dostępnych dla tej zdefiniowanej zmiennej zakresu.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Zakres („A1”) setValue_Var. Napis końcowy
Krok 7: Przeciągnij w dół przez listę i wybierz funkcję „Wartość”, aby zapisać wartość pod tą zmienną zakresu.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Zakres („A1”) setValue_Var.Value End Sub
Krok 8: Przypisz „Witamy w świecie VBA!” Jako wartość do tego zakresu za pomocą operatora przypisania.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Zakres („A1”) setValue_Var.Value = „Witamy w świecie VBA!” Napis końcowy
Krok 9: Skończyliśmy z częścią kodującą. Uruchom ten kod, naciskając F5 lub przycisk Uruchom pod VBE i zobacz wynik.
Możesz także przypisać wartość do zakresu komórek. Wszystko, co musisz zrobić, to ustawić zakres wyjściowy, który da tablicę jednowymiarową zamiast odwołania do pojedynczej komórki.
Krok 10: W tym samym kodzie powyżej zmień Zakres z „A1” na „A1: A5”.
Kod:
Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets („Setting_Cell_Value_1”). Zakres („A1: A5”) setValue_Var.Value = „Witamy w świecie VBA!” Napis końcowy
Krok 11: Naciśnij F5 lub przycisk Uruchom i zobacz wynik.
Przykład # 2 - Ustaw wartość komórki za pomocą właściwości komórek VBA
To kolejna metoda ustawiania wartości komórki w VBA. W przeciwieństwie do funkcji ZAKRES, komórki nawet ich nie potrzebują. Operator wartości, aby móc ustawić wartość dla określonej komórki / komórek.
Wykonaj poniższe kroki, aby ustawić wartość komórki w Excel VBA:
Krok 1: Włóż nowy moduł pod VBE, w którym możesz zacząć pisać nowy fragment kodu.
Krok 2: Dodaj nową podprocedurę pod wstawionym modułem, w którym możesz przechowywać swój kod makr.
Kod:
Sub VBA_Value_Ex2 () End Sub
Krok 3: Rozpocznij pisanie tego arkusza roboczego. Aby uzyskać dostęp do arkusza o nazwie „Setting_Cell_Value_2”.
Kod:
Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub
Krok 4: Podaj nazwę arkusza w nawiasach w podwójnych cudzysłowach.
Kod:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets („Setting_Cell_Value_2”) End Sub
Krok 5 : Użyj właściwości .Cells, aby ustawić zakres komórek z podanego arkusza programu Excel.
Kod:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets („Setting_Cell_Value_2”). Komórki (1, 1) End Sub
Pierwszy argument właściwości Cells reprezentuje wiersze, a drugi argument reprezentuje kolumnę. Dlatego Komórki (1, 1) oznaczają komórkę związaną z pierwszym wierszem i pierwszą kolumną arkusza „Setting_Cell_Value_2”.
Krok 6: Teraz, przy pomocy operatora przypisania, przypisz wartość do tego zestawu komórek.
Kod:
Sub VBA_Value_Ex2 () ThisWorkbook.Worksheets („Setting_Cell_Value_2”). Komórki (1, 1) = „VBA jest elastyczny”. Napis końcowy
Zobacz, że nie potrzebujemy funkcji .Value, której musimy użyć, ustawiając wartość za pomocą funkcji Range. Metoda Cells nie ma takich opcji IntelliSense.
Krok 7: Naciśnij F5 lub przycisk Uruchom, aby uruchomić ten kod i zobaczyć wynik. Zobaczysz wynik, jak pokazano na zrzucie ekranu poniżej.
Przykład # 3 - Uzyskaj wartość komórki w VBA
Do tej pory w dwóch przykładach widzieliśmy, jak ustawić wartość dla komórki lub zakresu komórek. Załóżmy teraz, że przypadek jest dokładnie odwrotny, musimy przypisać wartość do konkretnej komórki arkusza programu Excel. Jak możemy to zdobyć? Przejdźmy przez przewodnik krok po kroku.
Załóżmy, że przypisałem wartość, jak pokazano na zrzucie ekranu poniżej pierwszej komórki kolumny A w arkuszu „Getting_Cell_Value”.
Wykonaj poniższe kroki, aby uzyskać wartość komórki w Excel VBA:
Krok 1: Włóż nowy moduł do VBE.
Krok 2: Dodaj podprocedurę, aby makro można było zapisać jako kod.
Kod:
Sub VBA_Value_Ex3 () End Sub
Krok 3: Zdefiniuj nową zmienną o nazwie Get_Value jako wariant za pomocą funkcji VBA Dim.
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant End Sub
Teraz musisz przypisać wartość obecną w komórce A1 do zmiennej zdefiniowanej powyżej.
Krok 4: wpisz „Get_Value = ThisWorkbook.Worksheets”. Umożliwi to kompilatorowi VBA dostęp do arkusza programu Excel, w którym przechowywana jest twoja wartość.
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets End Sub
Krok 5: Wymień nazwę arkusza w nawiasach z cytatami, w których przechowywana jest wartość.
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets („Getting_Cell_Value”) End Sub
Krok 6: Teraz użyj metody kropki (.) Range, aby podać dokładną komórkę, w której wartość jest przechowywana w arkuszu o nazwie „Getting_Cell_Value”.
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets („Getting_Cell_Value”). Zakres („A1”) End Sub
Krok 7: Na koniec użyj metody kropki (.) Value, aby kompilator mógł uzyskać dostęp do rzeczywistej wartości w komórce A1.
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets („Getting_Cell_Value”). Zakres („A1”). Wartość Koniec Sub
Krok 8: Jak już mówiliśmy, musimy uzyskać wartość przechowywaną w komórce A1. W tym celu użyj MsgBox, aby wyświetlić wartość zmiennej Get_Value (która już uzyskała dostęp do wartości wpisanej w komórce A1).
Kod:
Sub VBA_Value_Ex3 () Dim Get_Value As Variant Get_Value = ThisWorkbook.Worksheets („Getting_Cell_Value”). Zakres („A1”). Wartość MsgBox Get_Value End Sub
Krok 9: Naciśnij F5 lub przycisk Uruchom, aby uruchomić ten kod, otrzymasz wartość obecną w komórce A1 pod polem komunikatu.
Widzisz, tę wartość wspomnieliśmy w komórce A1 arkusza „Getting_Cell_Value”. Dobrze?
Przykład # 4 - Czy możemy uzyskać wiele wartości komórek jednocześnie?
Załóżmy, że mam wartości zapisane w trzech różnych komórkach A1, A2, A3, jak pokazano na zrzucie ekranu poniżej:
Po prostu nie daj się pomylić, jeśli zobaczysz tekst rozłożony wzdłuż kolumn od A do E. Jest to tylko widoczny układ (ponieważ scaliłem komórki), a rzeczywista wartość jest przechowywana tylko w komórce A1, A2, A3.
Wykonaj poniższe kroki, aby użyć wartości Excel VBA:
Krok 1: Zdefiniuj zmienną jako wariant w ramach nowej podprocedury w module VBA.
Kod: Sub VBA_Value_Ex4 () Dim Get_Value_2 Jako wariant zakończenia Sub
Krok 2: Użyj metody Range.Value, aby pobrać wartość komórek A1: A3 i przypisać nową zmienną zdefiniowaną w poprzednim kroku.
Kod:
Sub VBA_Value_Ex4 () Dim Get_Value_2 As Variant Get_Value_2 = ThisWorkbook.Worksheets („Getting_Cell_Value_2”). Zakres („A1: A3”). Wartość End Sub
Krok 3: Na koniec użyj funkcji MsgBox, aby wyświetlić wartości zapisane w komórce A1: A3.
Kod:
Sub VBA_Value_Ex4 () Dim Get_Value_2 Jako wariant Get_Value_2 = ThisWorkbook.Worksheets („Getting_Cell_Value_2”). Zakres („A1: A3”). Wartość MsgBox Get_Value_2 End Sub
Krok 4: Naciśnij F5 lub przycisk Uruchom i zobacz wyniki dla tego kodu.
Pojawi się błąd w czasie wykonywania „13”: Niezgodność typów. Przyczyną tego błędu jest to, że definiujemy pojedynczą zmienną i przypisujemy do niej wartości jednowymiarowej tablicy (z trzema rzędami). Co jest logicznie niemożliwe.
To jest z tego artykułu. Podsumujmy te rzeczy, z kilkoma punktami do zapamiętania.
Rzeczy do zapamiętania
Nie można ustawić wartości wielu komórek podczas korzystania z metody VBA CELLS, ponieważ przyjmuje ona wiersze i kolumny jako argumenty. Można w nim podać tylko numer wiersza i numer kolumny.
Nie można również uzyskać wartości przechowywanych w wielu komórkach w jednym oknie komunikatu. Jeśli musisz pobrać zakres wartości, musisz napisać osobne argumenty get dla każdej wartości.
Polecane artykuły
To był przewodnik po wartości VBA. Tutaj omówiliśmy, jak korzystać z funkcji Excel VBA Value wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- Kompletny przewodnik po VBA o błędzie
- Jak korzystać z formatu liczb VBA?
- Funkcja VBA VLOOKUP z przykładami
- Tworzenie funkcji VBA w programie Excel
- Jak korzystać z funkcji Val VBA?