Użyj makra OnEntry, aby utworzyć sumę bieżącą w komentarzu do komórki w programie Excel
Podsumowanie
W programie Microsoft Excel można uniknąć odwołań cyklicznych podczas tworzenia sumy bieżącej, przechowując wynik w nieliczającej części arkusza. Ten artykuł zawiera przykładową procedurę Visual Basic for Applications firmy Microsoft, która to robi, przechowując sumę bieżącą w komentarzu do komórki.
Więcej informacji
Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika.
Aby utworzyć sumę bieżącą w komórce
Otwórz nowy skoroszyt w programie Microsoft Excel.
Uruchom Redaktor Visual Basic (naciśnij klawisze ALT+F11).
W menu Insert (Wstaw) kliknij polecenie Module (Moduł).
W tym module wpisz następujące makra:
' The Auto_Open name forces this macro to run every time ' the workbook containing this macro is opened. Sub Auto_Open() ' Every time a cell's value is changed, ' the RunningTotal macro runs. Application.OnEntry = "RunningTotal" End Sub '---------------------------------------------------------- ' This macro runs each time the value of a cell changes. ' It adds the current value of the cell to the value of the ' cell comment. Then it stores the new total in the cell comment. Sub RunningTotal() On Error GoTo errorhandler ' Skip cells that have no comment. With Application.Caller ' Checks to see if the cell is a running total by ' checking to see if the first 4 characters of the cell ' comment are "RT= ". NOTE: there is a space after the equal ' sign. If Left(.Comment.Text, 4) = "RT= " Then ' Change the cell's value to the new value in the cell ' plus the old total stored in the cell comment. RT = .Value + Right(.Comment.Text, Len(.Comment.Text) - 4) .Value = RT ' Store the new total in the cell note. .Comment.Text Text:="RT= " & RT End If End With Exit Sub ' Skip over the errorhandler routine. errorhandler: ' End the procedure if no comment in the cell. Exit Sub End Sub '-------------------------------------------------------------- ' This macro sets up a cell to be a running total cell. Sub SetComment() With ActiveCell ' Set comment to indicate that a running total is present. ' If the ActiveCell is empty, multiplying by 1 will ' return a 0. .AddComment .Comment.Text Text:="RT= " & (ActiveCell * 1) End With End Sub
Po wpisaniu makr kliknij pozycję Zamknij i wróć do programu Microsoft Excel w menu Plik .
Zapisz i zamknij skoroszyt, a następnie otwórz go ponownie.
Wpisane makro Auto_Open jest uruchamiane po otwarciu skoroszytu.
Wybierz komórkę C3.
Jest to komórka, która będzie zawierać komentarz z sumą bieżącą.
Wykonaj następujące kroki, aby uruchomić makro SetComment:
- W menu Narzędzia wskaż polecenie Makro, a następnie kliknij polecenie Makra.
- W oknie dialogowym Makro kliknij pozycję SetComment, a następnie kliknij pozycję Uruchom.
Przykład użycia sumy bieżącej
Aby użyć sumy bieżącej, wykonaj następujące kroki:
- Wpisz liczbę 10 w komórce C3.
- Wybierz komórkę C3 i zwróć uwagę, że komentarz wyświetla wartość "RT= 10" (bez cudzysłowów).
- Wpisz liczbę 7 w komórce C3.
- Wybierz komórkę C3 i zwróć uwagę, że komentarz wyświetla wartość "RT= 17" (bez cudzysłowów).
Aby usunąć sumę bieżącą
Aby usunąć sumę bieżącą, wykonaj następujące kroki:
- Wybierz komórkę zawierającą sumę bieżącą, która ma zostać usunięta.
- Kliknij prawym przyciskiem myszy komórkę i kliknij pozycję Usuń komentarz w menu skrótów.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla