Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Makrók alkalmazása VBA felületen
Gazdasági feladatok Excel 2007-ben Somogyi Edit
2
Adó számítása
3
Program elkészítésének lépései
Adósávok és eredménycellák megadása Párbeszédpanel elkészítése Vezérlőelemek felvétele Tulajdonságok megadása Programkód megírása
4
Adósávok és eredménycellák
5
Párbeszédpanel elkészítése
6
Programkód megírása Munkafüzet megnyitásakor a párbeszédpanel megjelenjen Private Sub Workbook_Open() Panel.Show End Sub
7
Az Adó gomb megnyomásakor számolja ki a jövedelmet, az adókulcsot és az adót.
Private Sub Adozas_Click() jov = Val(Bevetel.Text) - Val(Koltseg.Text) tartomany = Worksheets("Munka1").Range("a2:c3") kulcs = WorksheetFunction.VLookup(jov, tartomany, 3) / 100 If jov > Then Ado = (jov ) * kulcs Else Ado = jov * kulcs Cells(5, 2) = FormatCurrency(jov, 0) Cells(6, 2) = FormatPercent(kulcs, 0) Cells(7, 2) = FormatCurrency(Ado, 0) End Sub
8
BÉT árfolyamok elemzése
9
Párbeszédpanel felépítése
10
Programkód megírása A munkafüzet megnyitásakor hozzon létre egy új munkalapot, és indítsa el az Arfolyam nevű makrót. Private Sub Workbook_Open() Sheets.Add Arfolyam End Sub
11
Az Arfolyam makró elemei
Fejléc Sub Arfolyam() 'Oszlopnevek Cells(1, 1) = "Állampapír neve" Cells(1, 2) = „Állampapír fajtája” Cells(1, 3) = "Tranzakció ideje" Cells(1, 4) = "Vétel" Cells(1, 5) = "Eladás" Cells(1, 6) = "Záró" Cells(1, 7) = "Mennyiség" Cells(1, 8) = "Változás" Cells(1, 8) = "Összérték" ’Tartomány kijelölése ActiveSheet.Range("a1:i20").Select 'Karakterformázás With Selection.Font .Name = "Times New Roman" .FontStyle = "Bold Italic" .Size = 14 End With 'Keretezés Selection.Borders(xlLeft).LineStyle = xlContinuous Selection.Borders(xlRight).LineStyle = xlContinuous Selection.Borders(xlTop).LineStyle = xlContinuous Selection.Borders(xlBottom).LineStyle = xlContinuous Selection.BorderAround xlDouble 'Oszlopszélesség igazodása Selection.EntireColumn.AutoFit ’Párbeszédpanel megjelenítése ArPanel.Show End Sub
12
Állampapír kiválasztása
13
Részvény kiválasztása
A részvény kiválasztásával megjelenik a megfelelő lista, amely az eredeti táblázatban van Private Sub Reszveny_Click() Lista.RowSource = "k2:k8" End Sub
14
Változás
15
Programkód A Valtoz függvény kiszámolja az eladás és záróérték különbségét Private Function Valtoz() As Double Valtoz = _ Val(Eladas.Text) - Val(Zaro.Text) End Function A Változás nyomógombra kattintva kiírja a az eredményt Private Sub Valtozas_Click() MsgBox "Az állampapír értékének változása " & _ FormatCurrency(Valtoz,0) , vbOKOnly, "Változás" End Sub
16
Összérték
17
Programkód Az Osszes függvény kiszámolja az eladás és a mennyiség szorzatát Private Function Osszes() As Double Osszes = Val(Mennyiseg.Text) * Val(Eladas.Text) End Function Az Összérték gombra kattintva kiírja az eredményt Private Sub Osszertek_Click() MsgBox "Az állampapír eladási összértéke " _ & FormatCurrency(Osszes), vbOKOnly, "Összérték" End Sub
18
Adatok kiírása a táblázatba
19
Programkód elemei Private Sub Felvitel_Click() Const ksor=2
’Hányadik sorban állunk If sor < 2 Then sor = ksor Else sor = sor + 1 ’Melyik állampapírt választottuk If Reszveny.Value = True Then nev = "Részvény" If Kotveny.Value = True Then nev = "Kötvény" If Befektetes.Value = True Then nev = "Befektetési jegy" ’Adatok kiírása táblázatba Cells(sor, "a") = nev Cells(sor, "b") = Lista.Text Cells(sor, "c") = Ido.Text Cells(sor, "d") = Val(Vetel.Text) Cells(sor, "e") = Val(Eladas.Text) Cells(sor, "f") = Val(Zaro.Text) Cells(sor, "g") = Val(Mennyiseg.Text) Cells(sor, "h") = Valtoz Cells(sor, "i") = Osszes 'Oszlopszélesség igazodása Selection.EntireColumn.AutoFit 'Állapot visszaállítása Vetel.Text = "" Eladas.Text = "" Zaro.Text = "" Mennyiseg.Text = "" Lista.Text = "Válassz egy értékpapírt!"
20
Statisztika panel Ha legalább két sor van a táblázatban jelenítse meg a Statisztika panelt Private Sub Statisztika_Click() If Cells(2,1)<>”” Then StatisztikaPanel.Show Else MsgBox _ "Töltse fel a táblázatot!", vbOKOnly, "Keresés" End Sub
21
Diagram
22
Programkód Private Sub Diagram_Click() ’Hány sorban vannak adatok
Do While Cells(i, 1) <> "" i = i + 1 Loop sor = i –1 ’Diagram létrehozása ActiveSheet.Shapes.AddChart.Select With ActiveChart .SetSourceData Source:=Range(Cells(2, 4), Cells(sor, 6)) .ChartType = xlLineMarkersStacked ‘Jelmagyarázat .SeriesCollection(1).XValues _=ActiveSheet.Range(Cells(2, 1), Cells(sor, 1)) .SeriesCollection(1).Name = "Vétel" .SeriesCollection(2).Name = "Eladás" .SeriesCollection(3).Name = "Záró" ‘Tengelyek, cím .SetElement (msoElementChartTitleAboveChart) .SetElement _(msoElementPrimaryCategoryAxisTitleAdjacentToAxis) .SetElement _(msoElementPrimaryValueAxisTitleHorizontal) .Axes(xlCategory).AxisTitle.Text = "állampapír" .Axes(xlValue).AxisTitle.Text = "érték" .ChartTitle.Text = "BÉT árfolyamok mozgása" ‘Létrehozás új munkalapon .Location xlLocationAsNewSheet End With End Sub
23
Statisztika Panel
24
Összeg és átlag
25
Programkód Hány sort összegezzünk? Function sorok() As Byte i = 1
Do While Cells(i, 1) <> "" i = i + 1 Loop sorok=i-1 End Function Melyik papírt választottuk? Function papir() As String If Reszveny.Value = True Then papir = "Részvény" If Kotveny.Value = True Then papir = "Kötvény" If Befektetes.Value = True Then papir = "Befektetési jegy" Melyik tranzakciót választottuk? Function Akcio() As Byte If Vetel.Value = True Then Akcio = 4 If Eladas.Value = True Then Akcio = 5 If Zaro.Value = True Then Akcio = 6
26
Összeg és átlag Private Sub Osszatlag_Click() osszeg = 0 db = 0
For i = 2 To sorok If Cells(i, 1) = papir And Akcio > 0 Then szam = Val(Cells(i, Akcio)) db = db + 1 osszeg = osszeg + szam End If Next If db = 0 Then atl = 0 If db >= 1 Then atl = osszeg / db MsgBox "Az összeg: " & FormatCurrency(Osszeg, 0) & _ vbCrLf & "Az átlag: " + FormatCurrency(atl, 0), _ vbOKOnly, "Összeg és átlag" End Sub
27
Minimum és maximum
28
Programkód Private Sub Minmax_Click() max = 0 min = 100000
For i = 2 To sorok If Cells(i, 1) = papir And Akcio > 0 Then szam = _ Val(Cells(i, Akcio)) If szam > max Then max = szam If szam < min And szam > 0 Then min = szam Next MsgBox "A legnagyobb érték: " & FormatCurrency(max, 0) _ & vbCrLf & "A legkisebb érték: " & FormatCurrency(min, 0), _ vbOKOnly, "Minimum és maximum" End Sub
29
Megszámolás papír szerint
30
Programkód Private Sub Megszamolaspapir_Click() rdb = 0 kdb = 0
bdb = 0 For i = 2 To sorok If Cells(i, 1) = "Részvény" Then rdb = rdb + Cells(i, 7) If Cells(i, 1) = "Kötvény" Then kdb = kdb + Cells(i, 7) If Cells(i, 1) = "Befektetési jegy" Then bdb = bdb + Cells(i, 7) Next i MsgBox "Részvény: " & rdb & " db" & vbCrLf _ & "Kötvény: " & kdb & " db" & vbCrLf & _ "Befektetési jegy: " & bdb & " db", _ vbOKOnly, "Megszámolás" End Sub
31
BÉT árfolyamok beolvasása internetről
Adatok Külső adatok átvitele Weblapról Beállítások
32
ArPanel módosul
33
Diagram látványosabb
34
Statisztika panel módosul
35
Értékpapír legkisebb vételi ára
36
Értékpapír legnagyobb záró értéke
37
Adott időintervallumban forgalmazott értékpapírok záró összértéke és átlaga
38
Programkód Private Sub Osszegatlag_Click() mettol = CDate(Tol.Text)
meddig = CDate(Ig.Text) db = 0 ossz = 0 For i = 2 To sorok If Cells(i, 2) >= mettol And Cells(i, 2) <= meddig And Akcio > 0 Then szam = Val(Cells(i, Akcio)) mennyiseg = Val(Cells(i, 6)) ossz = ossz + szam * mennyiseg db = db + 1 End If Next If db = 0 Then atl = 0 If db >= 1 Then atl = ossz / db MsgBox "Az adott időintervallumban az értékpapírok" & vbCrLf & "összege: " &FormatCurrency(ossz, 0) &" átlaga: " & FormatCurrency(atl, 0), vbOKOnly, "Összeg és átlag" End Sub
39
További információk Megjelenő könyv Mintapéldák A rendezvény honlapja
Gazdasági feladatok Excel 2007-ben Mintapéldák A rendezvény honlapja
40
Somogyi Edit e.somogyi@chello.hu
Köszönöm a figyelmet! Somogyi Edit
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.