==== Feladat ====
Írja ki az A1, B1 és C1 cellákba: "Neptun kód", "Pont", "Jegy" egy szubrutin segítségével.
----
Sub Feladat()
Cells(1, "A").Value = "Neptun kód"
Cells(1, "B").Value = "Pont"
Cells(1, "C").Value = "Jegy"
End Sub
----
Írjon VBA függvényt ami olyan kódokat generál véletlenszerűen, ami 6 karakterből áll és minden karakter nagybetű lehet.
Function GeneralNEPUNKod_Nagybetus() As String
Dim kod As String
Dim i As Integer
Dim r As Integer
kod = ""
Randomize ' a véletlen generálást inicializáljuk
For i = 1 To 6
r = Int(Rnd() * 26) + Asc("A") ' A–Z 26 karakter
kod = kod & Chr(r)
Next i
GeneralNEPUNKod_Nagybetus = kod
End Function
----
Töltse fel az A1 és A15 közötti cellákat ezekkel a véletlen string-ekkel a korábbi szubrutinhoz hozzáadva a kódot:
Sub Feladat()
Dim i As Integer
Cells(1, "A").Value = "Neptun kód"
Cells(1, "B").Value = "Pont"
Cells(1, "C").Value = "Jegy"
For i = 1 To 15
Cells(i, "A").Value = GeneralNEPUNKod_Nagybetus
Next
End Sub
----
A B2 cellától lefelé generáljon 15 ZH pontot 0-100 ig.
Sub Feladat()
Dim i As Integer
Cells(1, "A").Value = "Neptun kód"
Cells(1, "B").Value = "Pont"
Cells(1, "C").Value = "Jegy"
For i = 2 To 15
Cells(i, "A").Value = GeneralNEPUNKod_Nagybetus
Cells(i, "B").Value = Int(Rnd() * 100)
Next
End Sub
----
Írjon egy függvényt, ami a 50 pont fölötti pontokat "megfelelt"-nek jelzi a "C" oszlopban, a többit "Elégtelen"-nek.
Function osztalyoz(pont As Integer)
If pont > 50 Then
osztalyoz = "Megfelel"
Else
osztalyoz = "Elégtelen"
End If
End Function
Majd építse bele a Feladat() szubrutinba a függvényt:
Sub Feladat()
Dim i As Integer
Cells(1, "A").Value = "Neptun kód"
Cells(1, "B").Value = "Pont"
Cells(1, "C").Value = "Jegy"
For i = 2 To 15
Cells(i, "A").Value = GeneralNEPUNKod_Nagybetus
Cells(i, "B").Value = Int(Rnd() * 100)
Cells(i, "C").Value = osztalyoz(Cells(i, "B").Value)
Next
End Sub
----
Menjen végig egy külön ciklussal a "C" oszlopon és jelölje zöld színnel a "Megfelelt" jegyeket
Sub Feladat()
Dim i As Integer
Cells(1, "A").Value = "Neptun kód"
Cells(1, "B").Value = "Pont"
Cells(1, "C").Value = "Jegy"
For i = 2 To 15
Cells(i, "A").Value = GeneralNEPUNKod_Nagybetus
Cells(i, "B").Value = Int(Rnd() * 100)
Cells(i, "C").Value = osztalyoz(Cells(i, "B").Value)
Next
Dim eredmeny As String
For i = 2 To 15
eredmeny = Cells(i, "C")
If eredmeny = "Megfelel" Then
Cells(i, "C").Interior.Color = RGB(0, 255, 0)
Else
Cells(i, "C").Interior.Color = RGB(255, 0, 0)
End If
Next
End Sub