Nie proszę o pomoc przy żadnym scenariuszu, ale moje pytanie ma na celu wyjaśnienie. Ostatnio robiłem dużo skryptów VB w Excelu, więc naprawdę odnoszę się do Excela w tym pytaniu. Jaka jest różnica między .text, .value i .value2? Na przykład, kiedy powinienem używać target.text, target.value i target.value2? Nigdy nie korzystałem z opcji value2, ale nadal chciałbym wiedzieć, do czego jest używana.
Czasami, gdy używam .text, pojawia się błąd i muszę użyć .value, gdy tylko sprawdzam tekst w komórce lub manipuluję nim. Czasami, gdy myślę, że powinienem użyć .value, pojawia się błąd i muszę użyć .text. Zwykle akceptuje albo bez problemu, ale czasami robi różnicę. Wiem, że musi być w tym jakaś logika, ale nie mogę tego rozgryźć.
Dowiedziałem się również, że jeśli po prostu zostawisz go jako cel bez określenia .text lub .value, początkowo zadziała, ale coś, co ktoś zrobi, ostatecznie spowoduje błąd w skrypcie, więc zawsze najlepiej jest użyć na nim. . Myślę, że pytam, czy ktoś może dać mi jakąś wskazówkę, praktyczną zasadę, jak właściwie używać każdego z nich i kiedy należy go używać.
Dzięki za wyjaśnienie. Rozumiem to lepiej. Oba są dobrym wyjaśnieniem. Poniżej znajduje się mały przykład mojego kodu, który działa. Pomyślałem, że powinien to być target.text, ale wystąpiłby błąd, więc gdy użyłem target.value, zadziałało.
If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then
Target.Value = "Higher Level Outage"
End If
Nadal jestem trochę zdezorientowany, ponieważ kiedy myślę o value lub value2, szczególnie po twoich odpowiedziach, które udzieliłeś, myślę, że powinny być używane tylko do liczb. Jednak w moim przykładzie mówię o stricte tekstu, do którego odnosi się mój skrypt (tekst w komórkach, bardziej niż liczby).