Visual Basic - Genomgång (Presenteras av: ITU) Kort presentation
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 Vilket problem skall lösas? T.ex. jämförelse av två värden, skall text visas, vad ska beräknas? Vad och vilka flikar/filer berörs? En enstaka cell i en eller flera flikar/filer? Vad är det du ska göra? Vilken typ av beräkning? Är villkor uppställda? Vill visa text? 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. 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! Nästan alla programmeringsspråk nyttjar citattecknen för att ”omkapsla” strings (textkod)
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. Alla porcedurer, funktioner och loopar MÅSTE ha en början OCH ett slut! Struntar i While-loop tillsvidare
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. Logiskt resonemang; förtydliga att de annars måste sepc. Vad Drink är för något.
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. Förtydliga innebörden av ”A”& i, att det betyer A1, sedan A2 etc Förtydliga att: proceduren ALLTID skall börja med Sub funknamn och avslutas med End Sub. Nollställa värden
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(). Bra om man vill uppmärksamma användaren på att makro har arbetat färdigt
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 VB-genomgångar/workshops hållas. Förtydliga att hjälp finnes, men jag skall ej agera facit.
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”.