Attribute VB_Name = "Module1" Public Sub TeeSatunnaisLuvut() 'Koodissa alustetaan satunnaislukugeneraattori (rivi 2) ja asetetaan Excelin laskenta (rivi 3) ja näytön virkistys pois päältä (rivi 4). 'Tämän jälkeen suoritetaan rivilaskuria Rivi tuhat kertaa silmukassa. 'Silmukan aloitusrivi on 5 ja silmukka päättyy riville 8. 'Silmukan sisällä pyydetään satunnaisluku taulukkosivun sarakkeille A (rivi 6) ja B (rivi 7). 'Kun silmukkalaskuri saa arvokseen 1001, silmukan sisälle ei siirrytä enää vaan kontrolli jatkuu riviltä 9 eteenpäin. 'Täällä asetetaan laskenta ja näytön virkistys takaisin päälle. 'Esimerkissä käytettiin myös Application-objektin ominaisuuksia. 'Tästä objektista on laajemmin luvussa 5 (Application: Viittaaminen Excel-sovellukseen). Dim Rivi As Long Randomize Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Rivi = 1 To 1000 ActiveSheet.Range("A" & Rivi).Value = Int(Rnd * 21) - 10 ActiveSheet.Range("B" & Rivi).Value = Int(Rnd * 21) - 10 Next Rivi Application.ScreenUpdating = True Application.Calculate Application.Calculation = xlCalculationAutomatic End Sub Private Sub TeeLuvut() Randomize For Each Solu In Selection Solu.Value = Int(Rnd(1) * 10) - 5 Next Solu End Sub Private Sub KasitteleSarake(ByVal SarakeKirjain As String) Dim Rivi As Long Rivi = 4 Do While Range(SarakeKirjain & Rivi).Value <> "" If Range(SarakeKirjain & Rivi).Value = "0" Then Range(SarakeKirjain & Rivi).Value = "" End If Rivi = Rivi + 1 Loop End Sub Sub TestaaKasitteleSarake() Attribute TestaaKasitteleSarake.VB_ProcData.VB_Invoke_Func = " \n14" KasitteleSarake ("F") End Sub Private Sub KasitteleRivi(ByVal Rivino As Long) Dim Sarake As Long Sarake = 1 Do While Cells(Rivino, Sarake).Value <> "" If Cells(Rivino, Sarake).Value = "0" Then Cells(Rivino, Sarake).Value = "" End If Sarake = Sarake + 1 Loop End Sub Sub TestaaKasitteleRivi() Attribute TestaaKasitteleRivi.VB_ProcData.VB_Invoke_Func = " \n14" KasitteleRivi (22) End Sub Private Sub KasitteleSuorakaide( _ ByVal ALkuRivi As Long, ByVal LoppuRivi As Long, _ ByVal AlkuSarake As Long, ByVal LoppuSarake As Long) Dim Rivi As Long Dim Sarake As Long For Rivi = ALkuRivi To LoppuRivi For Sarake = AlkuSarake To LoppuSarake If Cells(Rivi, Sarake).Value = "0" Then Cells(Rivi, Sarake).Value = "" End If Next Sarake Next Rivi End Sub Public Sub TestaaKasitteleSuorakaide() Attribute TestaaKasitteleSuorakaide.VB_ProcData.VB_Invoke_Func = " \n14" Call KasitteleSuorakaide(4, 34, 5, 10) End Sub Private Sub KasitteleValinta() Dim Solu As Range For Each Solu In Selection If Solu.Value = "0" Then Solu.Value = "" End If Next Solu End Sub