/ / Excel VBA'da Rolling Ortalama

Excel VBA'da Rolling Ortalama

Aşağıda bir programa bakacağız Excel VBA Bu bir oluşturur haddeleme ortalama tablosu. Çalışma sayfanıza bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

Bu kod satırı 0 arasında rastgele bir sayı girerve 100 B3 hücresine. Excel VBA'nın yeni hisse senedi değerini almasını ve haddeleme ortalama tablosunun ilk konumuna getirmesini istiyoruz. Diğer tüm değerler bir yerden aşağı doğru hareket etmeli ve son değer silinmelidir.

Excel VBA'da Rolling Ortalama Tablosu

Excel VBA'da Rolling Ortalama Tablosu

Bir Çalışma Sayfası Değiştirme Etkinliği oluşturun. Çalışma Sayfası Değiştirme Etkinliğine eklenen kod, çalışma sayfasındaki bir hücreyi değiştirdiğinizde Excel VBA tarafından yürütülecektir.

1. Visual Basic Düzenleyicisi'ni açın.

2. Proje Gezgini'nde Sayfa1 (Sayfa1) üzerine çift tıklayın.

3. Soldaki açılır listeden Çalışma Sayfası'nı seçin. Sağdaki açılır listeden Değiştir'i seçin.

Excel VBA'da Çalışma Sayfası Değiştirme Etkinliği

Çalışma Sayfası Değiştirme Etkinliğine aşağıdaki kod satırlarını ekleyin:

4. Tamsayı newvalue ve iki aralık (ilk değerleri ve son değerleri) olarak adlandırılan bir değişken bildirin.

Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range

5. Çalışma Sayfası Değiştirme Etkinliği, Sayfa1'deki tüm değişiklikleri dinler. Sadece B3 hücresinde bir şey değişirse Excel VBA'nın bir şeyler yapmasını istiyoruz. Bunu başarmak için aşağıdaki kod satırını ekleyin:

If Target.Address = "$B$3" Then

6. Yeni değeri, B3 hücresinin değeri, Aralık ("D3: D6") ile birinci menzilleri ve Aralık ("D4: D7") ile birlikte son değerlerle başlatırız.

newvalue = Range("B3").Value
Set firstfourvalues = Range("D3:D6")
Set lastfourvalues = Range("D4:D7")

7. Şimdi basit bir hile geliyor. Sıralı ortalama tabloyu güncellemek istiyoruz. Bunu, son dört değeri tablonun ilk dört değeriyle değiştirerek ve yeni stok değerini birinci konuma yerleştirerek başarabilirsiniz.

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

8. If ifadesini kapatmayı unutma.

End if

9. Son olarak, formül = ORTALAMA (D3: D7) D8 hücresine girin.

10. Komut düğmesine tıklayarak programı test edin.

Ayrıca oku: