Excel VBA'da Senetler ve Madeni Paralar - Kolay Excel Makroları

İçindekiler

Aşağıda bir programa bakacağız Excel VBA'sı bir miktar parayı ikiye bölen faturalar ve madeni paralar.

Durum:

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

1. Visual Basic Düzenleyicisini açın.

2. Proje Gezgini'nde Sayfa1'e (Sayfa1) ç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.

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

4. Double tipinde miktar adında bir değişken ve Tamsayı tipinde bir i değişkeni tanımlayın.

Dim miktarı Double As, i As Integer

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

Target.Address = "$B$2" ise

6. Değişken tutarı B2 hücresinin değeri ile başlatıyoruz.

 miktar = Aralık("B2").Değer

7. Aralığı frekanslarla boşaltıyoruz.

Aralık("B5:B16").Değer = ""

8. Şimdi girilen parayı bölme zamanı. For Next döngüsüne başlıyoruz.

i = 5 ila 16 için

9. Do while Loop yapısından faydalanacağız. Bu kelimelerin arasına yerleştirilen kod, Do while'dan sonraki kısım doğru olduğu sürece tekrarlanacaktır. Miktar Cells(i,1).value değerine eşit veya daha büyük olduğu sürece Excel VBA'nın 10. adımdaki kod satırlarını tekrarlamasını istiyoruz.

Do while miktarı >= Hücreler(i, 1).Value
Döngü

10. Do While Döngüsüne aşağıdaki kod satırlarını ekleyin.

Hücreler(i, 2).Değer = Hücreler(i, 2).Değer + 1
miktar = miktar - Hücreler(i, 1).Value

Açıklama: miktar Cells(i,1).value değerinden büyük veya eşit olduğu sürece, miktar bu değerdeki banknotları/madeni paraları içerir. Sonuç olarak, Excel VBA bu faturanın/madeni paranın sıklığını artırır (birinci satır) ve faturanın/madeni paranın değerini tutardan (ikinci satır) çıkarır. Bu işlem, miktar Cells(i,1).değerinden küçük olana kadar tekrarlanacaktır. Ardından, Excel VBA i'yi artırır ve bu faturanın/madeni paranın kalan miktara kaç kez sığdığını görmek için bir sonraki faturaya/madeni paraya gider. Bu şekilde para miktarı, artık bölünecek para kalmayana kadar faturalara ve madeni paralara bölünecektir.

11. For Next döngüsünü kapatın ve if ifadesini kapatmayı unutmayın (her ikisi de Do While Döngüsünün dışında).

 sonraki ben
Eğer son

12. Programı test edin.

Sonuç:

Not: Elbette girilen tutar her faturayı/madeni parayı içermek zorunda değildir. Tutar belirli bir banknot/madeni para içermiyorsa, Do while'dan sonraki kısım bu senet/madeni para için hiçbir zaman gerçekleşmez ve Excel VBA doğrudan bir sonraki banknot/madeni paraya gider.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave