User Tools

Site Tools


tanszek:oktatas:muszaki_informatika:vba_feladatok

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:muszaki_informatika:vba_feladatok [2024/04/23 19:48] – [7. A kiválasztott cellák képéként másolása] kneheztanszek:oktatas:muszaki_informatika:vba_feladatok [2024/04/24 11:12] (current) – [Hogyan Működik?] knehez
Line 191: Line 191:
 End Sub End Sub
 </sxh> </sxh>
-==== Hogyan Működik? ==== 
- 
-  * A makró a ''On Error GoTo Hibakezelo'' utasítással kezdődik, ami azt jelenti, hogy ha a makró futtatása során hiba történik, a vezérlés átugrik a ''Hibakezelo'' címkéhez. 
-  * A példában szándékosan generálunk egy hibát az osztásnál, ahol az osztó értéke 0. 
-  * Ha ez a hiba megtörténik, a makró a ''Hibakezelo'' részre ugrik, ahol egy üzenetablakban megjelenik a hiba leírása. 
-  * Az ''Exit Sub'' utasítás biztosítja, hogy ha hiba nélkül eljutottunk a makró végére, ne ugorjunk a hibakezelő részre. 
-  * A hibakezelő részben lehetőség van további tevékenységekre, mint például a hiba naplózása vagy speciális hibakezelési rutinok végrehajtása. 
- 
 ==== Hogyan Működik? ==== ==== Hogyan Működik? ====
  
Line 293: Line 285:
 </sxh> </sxh>
  
-====== 8A kiválasztott cellák képéként másolása ======+====== 9Célkeresés ====== 
 + 
 +Nagyon hasznos funkció, ha egy összetett képletek szerint változó cella értékét visszafelé akarjuk próbálgatni, hogy egy adott eredményhez jussunk. 
 + 
 +Például: adott egy számítás ami egy rendelés árát számolja ki, figyelembe véve az adót, a szállítási költséget. 
 + 
 +{{:tanszek:oktatas:muszaki_informatika:pasted:20240423-195630.png}} 
 + 
 +A példában 4000-ot kell fizetni az áruért. De mit tudunk csinálni ha csak **3500Ft** van kéznél? Valahogy visszafelé kellene számolni, hogy megtudjuk ekkor mekkora alap árat engedhetünk meg magunknak. 
 + 
 +<sxh vb> 
 +Sub GoalSeek() 
 +    Dim Target As Long 
 +     
 +    On Error GoTo Errorhandler 
 +     
 +    Target = InputBox("Enter the required value", "Enter Value"
 +    Worksheets("Tartalomjegyzék").Activate 
 +    Rem ChangingCell = az alapár .... keressük az összesen = 'B5'-es cellát 
 +    Rem 
 +    With ActiveSheet.Range("B5"
 +        .GoalSeek _ 
 +        Goal:=Target,
 +        ChangingCell:=Range("B1"
 +    End With 
 +     
 +    Exit Sub 
 +Errorhandler:     MsgBox ("Sorry, value is not valid."
 +End Sub 
 +</sxh> 
 + 
 +{{:tanszek:oktatas:muszaki_informatika:pasted:20240423-195725.png}} 
 + 
 +A példában a B5 helyére az //'Összesen'// melletti cella, a //ChangingCell// pedig az alapár (B1).  
 + 
 +A szkript megadja hogy a 3500Ft-os bruttó ár, **787.40Ft**-os alapárhoz tartozik.
tanszek/oktatas/muszaki_informatika/vba_feladatok.1713901707.txt.gz · Last modified: 2024/04/23 19:48 by knehez