Wyobraźmy sobie sytuację, w której w arkuszu, w określonej kolumnie umieszczamy szereg przycisków. Ich rola niech będzie banalna- zwiększenie/zmniejszanie wartości określonej komórki. Przyjmijmy jednak założenie, że komórka wynikowa znajduje się w określonej relacji do przycisku- np. jest to komórka bezpośrednio po lewej stronie względem naszego przycisku. Całość, w lekko rozbudowanym wariancie, niech zobrazuje poniższy schemat.
Chcąc zachować względną relację pomiędzy komórką wynikową a komórką nad którą znajdują się przyciski warto sięgnąć po .TopLeftCell. Właściwość ta występuje w przypadku większości obiektów warstwy rysunkowej i wskazuje komórkę (obiekt Range), nad którą znajduje się lewy górny róg naszego obiektu.
Kod dla przycisku czerwonego, który zmniejsza ilość elementów w kolumnie B będzie więc następujący:
Kod dla przycisku zielonego, który zwiększa ilość elementów w kolumnie B będzie więc następujący:
Zaletą stosowania takiego rozwiązanie jest wspomniana wyżej relacja w położeniu pomiędzy przyciskiem a kolumną wynikową. Pozwala nam to na wstawienie kilku kolumn po lewej stronie od kolumny B oraz wierszy powyżej naszego przykładowego rzędu. W obu przypadkach przyciski nadal będą działać w prawidłowej relacji do komórki wynikowej.
Brak komentarzy:
Prześlij komentarz