tanszek:oktatas:muszaki_informatika:vba_tutorial
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:muszaki_informatika:vba_tutorial [2024/04/10 11:26] – knehez | tanszek:oktatas:muszaki_informatika:vba_tutorial [2025/04/09 11:09] (current) – [Alapvető Típusok] knehez | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Az Excel VBA (Visual Basic for Applications) egy eseményvezérelt programozási nyelv, amely lehetővé teszi az Excel alkalmazások automatizálását és testreszabását. Ebben a részben az Excel VBA alapvető nyelvi elemeit mutatjuk be, beleértve a változók deklarálását, | Az Excel VBA (Visual Basic for Applications) egy eseményvezérelt programozási nyelv, amely lehetővé teszi az Excel alkalmazások automatizálását és testreszabását. Ebben a részben az Excel VBA alapvető nyelvi elemeit mutatjuk be, beleértve a változók deklarálását, | ||
| + | |||
| + | ==== Makrók engedélyezése ===== | ||
| + | |||
| + | A Fájl/ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Fejlesztőeszközök (Developer) bekapcsolása: | ||
| + | |||
| + | Fájl → Beállítások → Menüszalag testreszabása → Pipáljuk be a **Fejlesztőeszközök**-et. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Válasszuk ki a " | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Definiáljunk egy teszt függvényt ami visszaad egy konstans értéket. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | <sxh vb> | ||
| + | Function teszt() | ||
| + | teszt = 1 | ||
| + | End Function | ||
| + | </ | ||
| + | |||
| + | használata: | ||
| ==== Változók Deklarálása ==== | ==== Változók Deklarálása ==== | ||
| Line 23: | Line 51: | ||
| * **String**: Szöveges típus | * **String**: Szöveges típus | ||
| * **Boolean**: | * **Boolean**: | ||
| + | * **Byte**: 0-255-ig egész szám | ||
| + | ==== Kör területének számítása ==== | ||
| + | |||
| + | <sxh> | ||
| + | Sub Test() | ||
| + | Dim r As Double | ||
| + | Dim area As Double | ||
| + | |||
| + | r = InputBox(" | ||
| + | |||
| + | area = r * r * Application.WorksheetFunction.Pi | ||
| + | |||
| + | | ||
| + | End Sub | ||
| + | </ | ||
| ==== Vezérlési Elemek ==== | ==== Vezérlési Elemek ==== | ||
| Line 54: | Line 97: | ||
| Loop | Loop | ||
| </ | </ | ||
| + | |||
| + | ---- | ||
| ==== Sztringek kezelése ==== | ==== Sztringek kezelése ==== | ||
| Line 132: | Line 177: | ||
| </ | </ | ||
| + | ---- | ||
| - | ==== Makrók engedélyezése ===== | + | ==== Vektorok, tömbök kezelése |
| - | A Fájl/Beállítások/ | + | < |
| + | Dim szamok(0 To 4) As Integer | ||
| + | </sxh> | ||
| - | {{:tanszek: | + | Ez egy 5 elemű tömb (indexei: 0, 1, 2, 3, 4), amely egész számokat tárol. |
| + | <sxh> | ||
| + | Sub FixMeretuTomb() | ||
| + | Dim szamok(0 To 2) As Integer | ||
| + | szamok(0) = 10 | ||
| + | szamok(1) = 20 | ||
| + | szamok(2) = 30 | ||
| - | Válasszuk ki a " | + | MsgBox szamok(1) |
| + | End Sub | ||
| + | </ | ||
| - | {{:tanszek: | + | Változó méretű tömb: |
| - | Definiáljunk egy teszt függvényt ami visszaad egy konstans értéket. | + | < |
| + | Sub DinamikusTomb() | ||
| + | Dim tomb() As String | ||
| + | ReDim tomb(1 To 3) | ||
| - | {{: | + | tomb(1) = " |
| + | tomb(2) = " | ||
| + | tomb(3) = " | ||
| - | <sxh vb> | + | MsgBox tomb(2) ' |
| - | Function teszt() | + | End Sub |
| - | teszt = 1 | + | |
| - | End Function | + | |
| </ | </ | ||
| - | használata: írjuk be egy cellába **=teszt()** | + | Tömb különböző típusú elemekkel: |
| + | <sxh> | ||
| + | Sub FixMeretuTomb() | ||
| + | Dim arr(5) | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | End Sub | ||
| + | </ | ||
| + | |||
| + | Tömb bejárása ciklussal: | ||
| + | |||
| + | <sxh> | ||
| + | Sub TombBejarasa() | ||
| + | Dim i As Integer | ||
| + | Dim szamok(1 To 5) As Integer | ||
| + | |||
| + | For i = 1 To 5 | ||
| + | szamok(i) = i * 10 | ||
| + | Next i | ||
| + | |||
| + | For i = 1 To 5 | ||
| + | Debug.Print szamok(i) | ||
| + | Next i | ||
| + | End Sub | ||
| + | </ | ||
| + | |||
| + | // | ||
| + | |||
| + | A tömb határainak lekérdezése: | ||
| + | |||
| + | <sxh> | ||
| + | Dim tomb(3 To 7) As Integer | ||
| + | MsgBox LBound(tomb) | ||
| + | MsgBox UBound(tomb) | ||
| + | </ | ||
| + | |||
| + | Ez alapján a TombBejarasa() szubrutint dinamikusabbá tehetjük: | ||
| + | |||
| + | <sxh> | ||
| + | Sub TombBejarasa() | ||
| + | Dim i As Integer | ||
| + | Dim szamok(1 To 5) As Integer | ||
| + | |||
| + | For i = LBound(szamok) To UBound(szamok) | ||
| + | szamok(i) = i * 10 | ||
| + | Next i | ||
| + | |||
| + | For i = LBound(szamok) To UBound(szamok) | ||
| + | Debug.Print szamok(i) | ||
| + | Next i | ||
| + | End Sub | ||
| + | </ | ||
| ---- | ---- | ||
| + | ==== Gyakorló feladatok ==== | ||
| Adjunk össze két számot. | Adjunk össze két számot. | ||
| Line 214: | Line 336: | ||
| | | ||
| For Each cella In tartomany | For Each cella In tartomany | ||
| - | If Not IsEmpty(cella.Value) Then | + | If IsNumeric(cella.Value) And Not IsEmpty(cella.Value) Then |
| osszeg = osszeg + cella.Value | osszeg = osszeg + cella.Value | ||
| db = db + 1 | db = db + 1 | ||
tanszek/oktatas/muszaki_informatika/vba_tutorial.1712748363.txt.gz · Last modified: 2024/04/10 11:26 by knehez
