Tym razem temat wywołany na jednym z forów poświęconych programowaniu w VBA- w jaki sposób zsumować wszystkie wartości liczbowe w dokumencie Word, w określonym zaznaczeniu.
W sytuacji gdyby rzecz dotyczyła sumy w tabeli w dokumencie moglibyśmy sięgnąć po odpowiednie pola sumujące. Tym razem chodzi jednak o dowolny zaznaczony obszar.
Rozwiązanie podzielę na dwie części- sumowanie liczb całkowitych- i ten wariant zostanie zaprezentowany w niniejszym poście- oraz sumowanie liczb rzeczywistych, co jak się okaże jest relatywnie prostym zadaniem.
Aby zsumować liczby rzeczywiste najlepszym rozwiązaniem jest zastosować obiekt Find dla odpowiednio skonstruowanego klucza wyszukiwania z wykorzystaniem znaków specjalnych (wildcards). Poniższy kod realizuje to zadanie wyświetlając na końcu komunikat z podsumowaniem.
01 | Sub SearchSumIntegers() |
08 | .Replacement.Text = "" |
13 | .MatchWholeWord = False |
14 | .MatchAllWordForms = False |
15 | .MatchSoundsLike = False |
16 | .MatchWildcards = True |
19 | Do While Selection.Find.Execute |
22 | Total = Total + Selection |
25 | MsgBox "W dokumencie znajduje się " & Counter & _ |
26 | " liczb o łącznej wartości równej " & Total |
Powyższe rozwiązanie w wariancie sumującym liczby rzeczywiste opublikowany zostanie już jutro.
Brak komentarzy:
Prześlij komentarz