Lånekalkylator i Excel VBA - Enkla Excel -makron

Innehållsförteckning

Denna sida lär dig hur du skapar en enkel lånekalkylator i Excel VBA. Arbetsbladet innehåller följande ActiveX -kontroller: två rullningslister och två alternativknappar.

Obs: instruktionerna nedan lär dig inte hur du formaterar kalkylbladet. Vi antar att du vet hur du ändrar typsnitt, infogar rader och kolumner, lägger till ramar, ändrar bakgrundsfärger etc.

Utför följande steg för att skapa lånekalkylatorn:

1. Lägg till de två rullningslistkontrollerna. Klicka på Infoga från fliken Utvecklare och klicka sedan på rullningsfältet i avsnittet ActiveX -kontroller.

2. Lägg till de två alternativknapparna. Klicka på Infoga från fliken Utvecklare och klicka sedan på alternativknappen i avsnittet ActiveX -kontroller.

Ändra följande egenskaper för rullningslistkontrollerna (se till att Designläge är valt).

3. Högerklicka med musen på den första rullningslisten och klicka sedan på Egenskaper. Ställ in Min på 0, Max till 20, SmallChange på 0 och LargeChange till 2.

4. Högerklicka på den andra rullningslisten och klicka sedan på Egenskaper. Ställ in Min till 5, Max till 30, SmallChange till 1, LargeChange till 5 och LinkedCell till F8.

Förklaring: när du klickar på pilen, går rullningsfältets värde upp eller ner med SmallChange. När du klickar mellan reglaget och pilen, går rullningsfältets värde upp eller ner med LargeChange.

Skapa en ändringshändelse för kalkylblad. Kod som läggs till i kalkylbladets ändringshändelse körs av Excel VBA när du ändrar en cell i ett kalkylblad.

5. Öppna Visual Basic Editor.

6. Dubbelklicka på Sheet1 (Sheet1) i Project Explorer.

7. Välj kalkylblad från den vänstra listrutan och välj Ändra från den högra listrutan.

8. Arbetsbladets ändringshändelse lyssnar på alla ändringar på Sheet1. Vi vill bara att Excel VBA ska köra beräkningsundern om något ändras i cell D4. För att uppnå detta, lägg till följande kodrad i ändringshändelsen i kalkylbladet (mer om beräkningsundern senare).

Om Target.Address = "$ D $ 4" Sedan Application.Run "Beräkna"

9. Få rätt procentandel i cell F6 (ändra formatet på cell F6 till procent). Högerklicka på den första kontrollpanelen och klicka sedan på Visa kod. Lägg till följande kodrader:

Privat sub ScrollBar1_Change ()
Område ("F6"). Värde = ScrollBar1.Value / 100
Application.Run "Calculate"
Avsluta Sub

10. Högerklicka med musen på den andra rullningslisten och klicka sedan på Visa kod. Lägg till följande kodrad:

Privat under ScrollBar2_Change ()
Application.Run "Calculate"
Avsluta Sub

11. Högerklicka på den första alternativknappskontrollen och klicka sedan på Visa kod. Lägg till följande kodrad:

Privat underalternativButton1_Click ()
Om OptionButton1.Value = True Then Range ("C12"). Value = "Monthly Payment"
Application.Run "Calculate"
Avsluta Sub

12. Högerklicka på den andra alternativknappens kontroll och klicka sedan på Visa kod. Lägg till följande kodrad:

Privat underalternativButton2_Click ()
Om OptionButton2.Value = True Then Range ("C12"). Value = "Årlig betalning"
Application.Run "Calculate"
Avsluta Sub

13. Dags att skapa sub. Du kan gå igenom vårt funktion- och underkapitel för att lära dig mer om subs. Om du har bråttom placerar du helt enkelt undernamnet Calculate i en modul (klicka på Infoga, modul i Visual Basic Editor).

Delberäkna ()
Dim lån så länge, ränta som dubbel, nper som heltal
lån = intervall ("D4"). Värde
rate = Range ("F6"). Värde
nper = Område ("F8"). Värde
If Sheet1.OptionButton1.Value = True Then
ränta = ränta / 12
nper = nper * 12
Avsluta om
Område ("D12"). Värde = -1 * WorksheetFunction.Pmt (ränta, nper, lån)
Avsluta Sub

Förklaring: suben får rätt parametrar för kalkylbladets funktion Pmt. PMT -funktionen i Excel beräknar betalningarna för ett lån baserat på konstanta betalningar och en konstant ränta. Om du gör månatliga betalningar (Sheet1.OptionButton1.Value = True) använder Excel VBA ränta / 12 för ränta och nper *12 för nper (totalt antal betalningar). Resultatet är ett negativt tal, eftersom betalningar betraktas som en debitering. Multiplicera resultatet med -1 ger ett positivt resultat.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave