Użytkownik "Tajan" <tajan@interia.pl> napisał w wiadomości
news:ftdql7$j3g$1@atlantis.news.neostrada.pl...
> eml wrote:
>> Witam!
>>
>> problem jest następujący.
>> Stworzyłem sobie funkcję podobną do SUMY.POŚREDNIE(109,..) z tym, ze
>> uwzględnia ukryte kolumny (a nie tylko wiersze jak SUMY.POŚREDNIE) i
>> sumuje wartości tylko z widocznych komórek.
>> Mechanim funkcji jest bardzo siermiężny: można podać tylko adresy
>> pojedyńczych komórek (baz zakresów) a sam silnik składa sie z wielu
>> linijek
>> If a3.EntireColumn.Hidden = False Then c = c + a3
>>
>> a3 to jeden z argumentów funkcji
>> c to zmienna przechowująca wynik funkcji
>>
>> I tu pytania:
>> 1. Załóżmy, że kolejne argumenty funkcji można sprawdzać za pomoca
>> pętli FOR EACH a(n) IN... Czy argumenty funkcji tworzą jakąś grupę
>> obiektów na której można wykonać taką operację?
>>
>
> Konieczne jest do tego zadeklarowanie parametrów funkcji jako tablicy
> argumentów (ParamArray), np:
>
> Function Funkcja(ParamArray Parametry() As Variant)
>
> będziesz mógł wtedy użyć konstrukcji:
>
> For Each arg In Parametry
>
>> 2. Jak wymusić przeliczenie arkusza po odkryciu/ukryciu komórek
>> będących argumentami funkcji? Od razu powiem, że kod np.
>>
>
> W kodzie funkcji uzyj instrukcji:
> Application.Volatile
> spowoduje ona, że Twoja funkcja będzie przeliczana każdorazowo podczas
> wykonywania obliczeń. Nie nalezy jednak przesadzać z jej używaniem, bo
> może spowolnić pracę arkusza.
>
> Tajan
Dzięki!
Wiedziałem że ktoś mi pomoże. MVP nie przyznają byle komu
Pozdrawiam
eml