Zwiększ komórkę o tę samą ilość, o którą zwiększa się kolejna komórka


0

Jeśli na przykład - mam komórkę A1 w wysokości 9,50 GBP, w komórce A2 - 6,50 GBP.

Jeśli ręcznie zwiększę liczbę komórek A2 o 0,50 £, co spowoduje, że będzie to 7,00 £, potrzebuję komórki A1, aby automatycznie zwiększyła się o 0,50.

Czy można to zrobić według formuły, a jeśli tak, to jaka jest formuła?


Czy wzrost o 0,50 GBP jest wprowadzany ręcznie, tj. Ręcznie wpisujesz nową figurę do tej komórki, czy też jest ona zwiększana w wyniku działania formuły działającej na tę komórkę?
Rob

Odpowiedzi:


2

Nie, nie można tego zrobić za pomocą formuły. Nie sądzę nawet, że można to zrobić za pomocą VBA, ponieważ jak tylko nadpiszesz 6.50 za pomocą 7.00, nie ma odniesienia do tego, jaka była wartość komórki przed zmianą, stąd nie ma sposobu, aby ustalić, że różnica między wcześniejszym a po nim jest 0,50. Aby to zrobić, musisz zachować historię wartości komórki gdzieś, co jest potężnym skomplikowanym projektem.

Możesz chcieć powtórzyć swoje podejście.

Mieć dwie wartości w A1 i A2. W B1 wprowadź 0,5

W C1 wprowadź =A1+$B$1

Skopiuj do C2

Wartość wpisana w B1 zostanie dodana zarówno do A1, jak i A2, a odpowiednie wyniki zostaną wyświetlone w C1 i C2.


Myślę, że możesz wykonać sztuczkę, używając zdarzenia workbook_selectionchanged w makrze (pamiętaj o bieżącej wartości i po jej zmianie działaj odpowiednio). Ale zalecałbym zmianę podejścia, jak zasugerował Teylyn. Powinno to skutkować lepszym rozwiązaniem.
TheUser1024

@ TheUser1024, myślę, że masz na myśli zdarzenie Worksheet_change. Ale to tylko wystrzeli po zmianie komórki i nie będzie w stanie odwołać się do wartości komórki przed zmianą. Istnieje również zdarzenie Worksheet_SelectionChange, które można wykorzystać do skopiowania wartości wybranej komórki do zmiennej tymczasowej, ale co, jeśli użytkownik nie zmieni wyboru, po prostu siedzi na A1 i ciągle wprowadza liczby? Jak powiedziałem powyżej, zachowanie historii poprzednich wpisów w komórkach jest nieco bardziej złożone.
teylyn
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.