vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest piątek, 17 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

zwracanie wartości przez funkcję


otwartyotwarty rozpoczął: pafcio84 postów: 2



napisał: Rycho
postów: 291


umieszczony:
6 sierpnia 2009
01:34

  
Witam,
funkcja użytkownika wywołana z komórki arkusza nie może zmieniać komórek arkusza a jedynie zwrócić wartość.

Też kiedyś kombinowałem na ten temat, zanim dotarł do mnie bezsens takiego działanie, gdyby był możliwy. Nikt by nad tym nie zapanował. Już widzę jak interpreter próbuje zapanować nad kolejnością obliczeń.
Pewnie w końcu jakąś protezę bym opracował - tylko po co?

Procedury mogą zmieniać zawartość komórek. Procedura tzw. zdarzeniowa (obsługa zdarzenia) może zostać wywołana w odpowiedzi na wystąpienie jakiegoś zdarzenia (zmiana aktywnej komórki, jej zawartości, przeliczanie arkusza itd.) co powinno umożliwić wykonanie tego co chciałeś osiągnąć z poziomu funkcji.

Chyba mam deja vu lub faktycznie temat powraca co jakiś czas.
Pozdrawiam.
napisał: pafcio84
postów: 1


umieszczony:
5 sierpnia 2009
23:08

  
Zastanawiam się jak sprawić żeby funkcja zwracała wartość do innej komórki niż ta z której została wywołana. np do tego samego wiersza ale kolumnę obok.
Do tej samej komórki nie ma problemu

Function test()
test = "nazwa"
End Function

Ale już do innej nie bardzo

Function test()
Arkusz1.Cells(1,2) = "nazwa"
End Function

Docelowo miało by to działać mniej więcej tak

Function test()
Dim x As Range
Set x=Application.Cellar
Arkusz1.Cells(x.Row,x.Column+1) 'jedna w prawo od komórki wywołania funkcji
End Function

Niestety to nie działa. Ma ktoś jakiś pomysł jak to zrobić? Czy wogóle można z poziomu funkcji modyfikować komórkę inną niż ta z której funkcja została wywołana?
Z góry dziękuje za pomoc.


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z