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