Visual Basic - Genomgång

Download Report

Transcript Visual Basic - Genomgång

Visual Basic
- Genomgång
(Presenteras av: ITU)
Algoritmteori
• Definition: instruktioner för att lösa en uppgift (inom datavetenskap).
• Vid programmering: serier av villkor som måste uppfyllas för att kunna gå
vidare; steg som leder till ett eller flera olika slut beroende på vilka villkor
som uppfylls/ej uppfylls.
• En procedur och/eller funktion kan dock göra andra saker, t.ex. visa
meddelanden, leta efter värden etc.
• En modul: innehåller en eller flera procedurer.
• En procedur: kod som finns mellan Sub och End Sub eller Function och End
Function. Steg som leder till att ett problem eller uppgift löses.
Steg som skall följas
1. Vilket problem skall lösas? T.ex. jämförelse av två värden,
skall text visas, vad ska beräknas?
2. Vad och vilka flikar/filer berörs? En enstaka cell i en eller
flera flikar/filer?
3. Vad är det du ska göra? Vilken typ av beräkning? Är villkor
uppställda? Vill visa text?
4. Tänk på vilka procedurer och funktioner som behövs. Olika
funktioner/procedurer och vad de kan göra: förklaringar
finns under Help och på nätet.
5. Börja skriva kod! Tänk på: en modul = en typ av uppgift. Lång
tid att ladda upp en stor modul.
Procedur och funktion
• Sub ShowSum()
msgbox sumNo(3,5)
End Sub
Function sumNo(x, y)
sumNo = x + y
End Function
Visucal Basic
• Vilken cell skall makro mata in data till? Du måste tala om adressen.
• Worksheets(”test”).Range(”A1”) = ”Testar bara”
• Här betecknar Worksheets (inom den röda eklipsen):
Makro kommer således att mata in texten Testar bara i cell A1 i den flik som
heter test i den excelfil du arbetar med för tillfället.
Range kan vara en eller flera celler, t.ex. Range(”A1:C6”).
Ex. 2: Range("A1, A3, A5") = “Testar igen”.
Range specifierar vart i Worksheet data hamnar. Citattecknen viktiga!
Visual basic
• Indrag: traditionellt sett skall den text och de funktioner som
finns inom en funktion, procedur eller loop skrivas in med ett
indrag; detta för att bättre åskådliggöra vilken kod som hör till
vilken funktion.
• Ex:
Sub Kod ()
For i=1 To 200
Kod
Next i
End Sub
Visual basic
• Iteration: ”loopar”. Enkla loopar:
• For i=1 To 100
[KOD]
Next i
Next är procedurens slut; här säger vi till Excel att gå vidare till
nästa i. När sista i nås (dvs. i=100) avslutas proceduren. Excel
går vidare till koden under Next.
OM krav1=sant Då händer något
• If Age >=18 Then
Drink = "Yes"
Else
Drink = "No"
End If
• Else-klausulen måste ej finnas med, om ingen konsekvens av
det falska värdet finns.
Visual Basic
• Så här kan det se ut:
• For i=1 To 10
If Worksheets(“Age”).Range(“A“& i) >=18 Then
Worksheets(“GuestList”).Range(“B1”) =
Worksheets(“GuestList”).Range(“B1”) + 1
Else
Worksheets("Pfft").Range("A1") = Worksheets("Pfft").Range("A1") + 1
End If
• I text: I den cell vi har valt (dvs. B1 I fliken GuestList): summan blir cellens
innehåll plus 1 OM villkoret att cellen Ai I fliken Age är mer eller lika med
18. ANNARS ökar värdet I cell A1 I fliken Pfft.
Visual basic
• Sub showMessage()
MsgBox "Hello World!"
End Sub
• Det som återfinns mellan citattecknen i MsgBox kommer att
visas upp som ett meddelande I Excel när du kör Makrot
showMessage().
VB på Handels
• Bra till: att programmera under kursens gång (del 5 i
Excelövningarna). Ev. inlämningsuppgifter under
kursernas gång.
• Arbetslivet: ett krav om du ska kunna bli bra på Excel
(ser trevligt ut på CV).
• Övning 4: I uppgiften står det att du ska jämföra två
aktiekurser … tänk i steg.
• Framöver: om så önskas kan fler VBgenomgångar/workshops hållas.
Avslutningsvis
På nätet finns enorma resurser och
utbildningssidor riktade till nybörjare och mer
avancerade användare av Visual Basic.
Googla på ”Visual Basic Tutorials Excel”.