Wartość komórki VBA - pobierz, ustaw lub zmień

Ten samouczek nauczy Cię, jak wchodzić w interakcję z wartościami komórek za pomocą VBA.

Ustaw wartość komórki

Aby ustawić wartość komórki, użyj właściwości Wartość obiektu Zakres lub Komórki.

Zakres.Wartość i komórki.Wartość

Istnieją dwa sposoby odwoływania się do komórek w VBA:

  • Obiekt zakresu - Zakres („A2”). Wartość
  • Obiekt komórek - Komórki (2,1).Wartość

Obiekt Range umożliwia odwołanie się do komórki przy użyciu standardowej notacji „A1”.

Spowoduje to ustawienie wartości zakresu A2 = 1:

1 Zakres("A2").Wartość = 1

Obiekt Cells umożliwia odwoływanie się do komórki według numeru wiersza i numeru kolumny.

To ustawi wartość zakresu A2 = 1:

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

Zauważ, że najpierw wpisujesz numer wiersza:

1 Komórki (numer_wiersza, numer_kolumny)

Ustaw wartości wielu komórek naraz

Zamiast odwoływać się do pojedynczej komórki, możesz odwoływać się do zakresu komórek i jednocześnie zmieniać wszystkie wartości komórek:

1 Zakres("A2:A5").Wartość = 1

Ustaw wartość komórki - tekst

W powyższych przykładach ustawiamy wartość komórki równą liczbie (1). Zamiast tego możesz ustawić wartość komórki równą ciągowi tekstu. W VBA cały tekst musi być otoczony cudzysłowami:

1 Zakres("A2").Value = "Tekst"

Jeśli nie otoczysz tekstu cytatami, VBA pomyśli, że odwołujesz się do zmiennej…

Ustaw wartość komórki - zmienna

Możesz także ustawić wartość komórki równą zmiennej

1234 Dim strText jako StringstrText = "Ciąg tekstu"Zakres("A2").Value = strText

Uzyskaj wartość komórki

Możesz uzyskać wartości komórek przy użyciu tej samej właściwości Value, której użyliśmy powyżej.

Uzyskaj wartość ActiveCell

Aby uzyskać wartość ActiveCell i wyświetlić ją w oknie komunikatu:

1 MsgBox ActiveCell.Value

Przypisz wartość komórki do zmiennej

Aby uzyskać wartość komórki i przypisać ją do zmiennej:

123 Dim var jako wariantvar = Zakres("A1").Wartość

Tutaj użyliśmy zmiennej typu Variant. Zmienne wariantów mogą akceptować dowolny typ wartości. Zamiast tego możesz użyć zmiennej typu String:

123 Dim var jako Stringvar = Zakres("A1").Wartość

Zmienna typu String akceptuje wartości liczbowe, ale przechowuje liczby jako tekst.

Jeśli wiesz, że wartość komórki będzie liczbowa, możesz użyć typu zmiennej podwójnej (zmienne podwójne mogą przechowywać wartości dziesiętne):

123 Dim var jako Doublevar = Zakres("A1").Wartość

Jeśli jednak spróbujesz zapisać wartość komórki zawierającą tekst w zmiennej podwójnej, otrzymasz błąd niezgodności typu:

Inne przykłady wartości komórek

Kopiuj wartość komórki

Łatwo ustawić wartość komórki równą wartości innej komórki (lub „Kopiuj” wartość komórki):

1 Zakres("A1").Wartość = Zakres("B1").Wartość

Możesz to zrobić nawet z zakresami komórek (zakresy muszą mieć ten sam rozmiar):

1 Zakres("A1:A5").Wartość = Zakres("B1:B5").Wartość

Porównaj wartości komórek

Możesz porównywać wartości komórek przy użyciu standardowych operatorów porównania.

Sprawdź, czy wartości komórek są równe:

1 MsgBox Range("A1").Value = Range("B1").Value

Zwróci TRUE, jeśli wartości komórek są równe. W przeciwnym razie FAŁSZ.

Możesz również utworzyć instrukcję If, aby porównać wartości komórek:

12345678910111213 If Range("A1").Value > Range("B1").Value ThenZakres("C1").Value = "Większe niż"Elseif Range("A1").Value = Range("B1").Value ThenZakres("C1").Value = "Równe"W przeciwnym razieZakres("C1").Value = "Mniej niż"Zakończ, jeśli

Możesz porównać tekst w ten sam sposób (pamiętaj, że VBA rozróżnia wielkość liter)

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave