Jak korzystać z formułyr1c1 w vba (z przykładami)


Możesz użyć właściwości FormulaR1C1 w VBA, aby utworzyć odwołanie bezwzględne lub względne do określonej komórki w arkuszu.

Istnieją dwa typowe sposoby korzystania z tej właściwości:

Metoda 1: Użyj wzoru R1C1, aby utworzyć odniesienie bezwzględne

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R1C1*20 "

End Sub

Po uruchomieniu tego konkretnego makra komórka C5 wyświetli wynik komórki w wierszu 1 i kolumnie 1 pomnożony przez 20.

Metoda 2: Użyj wzoru R1C1, aby utworzyć odniesienie względne

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "

End Sub

Po uruchomieniu tego konkretnego makra komórka C5 wyświetli wynik z komórki 4 wiersze powyżej i 2 kolumny po jej lewej stronie pomnożony przez 20.

Poniższe przykłady pokazują, jak w praktyce zastosować każdą metodę z arkuszem Excel zawierającym wartość 10 w komórce A1 :

Przykład 1: Użyj wzoru R1C1, aby utworzyć odniesienie bezwzględne

Możemy utworzyć następujące makro, aby pomnożyć wartość komórki w wierszu 1 i kolumnie 1 przez 20 i wyświetlić wyniki w komórce C5 :

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R1C1*20 "

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Widzimy, że Excel użył formuły =$A$1*20 do obliczenia wyniku w komórce C5 .

Ponieważ w naszej formule w VBA użyliśmy R1C1 , zrobiliśmy bezwzględne odwołanie do komórki w pierwszym wierszu i pierwszej kolumnie, czyli do komórki A1 .

Przykład 2: Użyj wzoru R1C1, aby utworzyć odniesienie względne

Możemy utworzyć następujące makro, aby pomnożyć wartość komórki znajdującej się 4 wiersze powyżej i 2 kolumny na lewo od komórki C5 przez 20 i wyświetlić wyniki w komórce C5 :

 Sub MultipyCell()

Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "

End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Widzimy, że Excel użył formuły =A1*20 do obliczenia wyniku w komórce C5 .

Ponieważ w naszej formule w VBA użyliśmy nawiasów z R[-4]C[-2] , zrobiliśmy względne odniesienie do komórki znajdującej się 4 wiersze powyżej i 2 kolumny na lewo od komórki C5 , czyli komórki A1 .

Uwaga : Pełną dokumentację właściwości VBA FormulaR1C1 można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: prosta formuła na „Jeśli komórka zawiera”
VBA: Jak liczyć wystąpienia znaków w ciągu
VBA: jak sprawdzić, czy ciąg zawiera inny ciąg

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *