Zmień formułę w komórkach w zakresie na wartości za pomocą VBA w programie Microsoft Excel

Spisie treści

W tym artykule dowiemy się, jak zmienić formułę w komórkach w zakresie na wartości za pomocą VBA w programie Microsoft Excel.

Surowe dane dla tego przykładu składają się z danych sprzedaży. Dane sprzedażowe zawierają informacje o ilości sprzedanych artykułów przez pracowników w poszczególnych miastach. Ostatni wiersz i kolumna zawiera formułę sumy pozwalającą na znalezienie łącznej liczby przedmiotów sprzedanych w danym mieście przez danego pracownika.

Chcielibyśmy przekonwertować wszystkie formuły w aktywnym arkuszu na wartości. Aby przekonwertować wszystkie formuły na wartości, stworzyliśmy makro „ChangingFormulasToValue”. To makro można uruchomić, klikając przycisk „Konwertuj formuły na wartości”.

Na migawce widać, że formuła w komórce H18 jest przekonwertowana na wartość.

Wyjaśnienie kodu

Ustaw SourceRng = Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell))

Powyższy kod służy do przypisywania wszystkich komórek, począwszy od komórki A1 do ostatniej komórki w skoroszycie, jako zakresu.

ŹródłoRng.Wartość = ŹródłoRng.Wartość

Powyższy kod służy do przypisywania wartości komórki z pominięciem formuły

Proszę postępować zgodnie z poniższym kodem!

 Option Explicit Sub ChangingFormulasToValue() 'Deklarowanie zmiennych Dim SourceRng As Range 'Określ wszystkie komórki w aktywnym arkuszu jako zakres Set SourceRng = Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell)) 'Przypisywanie tylko wartości formuła pomijania komórki w komórce SourceRng.Value = SourceRng.Value End Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave