Tag Archives: lomake

Infoa käyttäjää ohjelman edistymisestä

Kolme esimerkkiä informoida käyttäjää miten ohjelma edistyy.
Kahdessa ensimmäisessä käytän tilariviä (StatusBar) ja kolmannessa käytän valintaikkunaa.

Koodi lukee soluja ja kertoo kuinka ohjelma edistyy.
Tilarivillä voit esittää esim. laskurilla tai tekstillä missä mennään.

Application.StausBar = ”Teksti tai luku jota näytetään”

Tilarivin tyhjennät seuraavalla tavalla:

Application.StausBar = ””

Mikäli et tyhjennä tilariviä jää merkintä siihen kunnes tilariviä päivitetään uudelleen tai kun Excel käynnistetään uudestaan.

 Esimerkki 1

Tilarivillä kerrotaan laskurilla i, monesko solu menossa.

Sub NaytaEdistyminen()
    Dim i As Long                  'laskuri
    Dim s As Range                 'solu jota käsitellään
    Range(Selection, Selection.End(xlDown)).Select
    i = 1
    For Each s In Selection
        Application.StatusBar = i  'tilarivi kertoo laskurin avulla monennetta solua luetaan
       i = i + 1
        'Laita oma koodisi tähän
    Next
    Application.StatusBar = ""      'tilarivi tyhjennetään
End Sub

Esimerkki 2

Tilarivillä kerrotaan kuinka monta prosenttia on käsitelty.
Muuttuja i kertoo mitä rivi käsitellään ja muuttuja j kuinka monta riviä on alueessa. Kuinka monta prosenttia on luettu saadaan kaavalla i/j muotoiltuna prosentiksi.

Sub NaytaEdistyminen2()
    Dim i As Long        'laskuri
    Dim j As Long        'muuttuja joka sisältää alueen kokonaisrivimäärän
    Dim s As Range
    Range(Selection, Selection.End(xlDown)).Select
    j = Selection.Rows.Count       'lasketaan alueen rivit
    i = 1
    For Each s In Selection
        'lasketaan prosenteissa kuinka paljon tehty
        Application.StatusBar = Format(i / j, "0.00%") 
        i = i + 1
        'Laita oma koodisi tähän
    Next
    Application.StatusBar = ""      'tilarivi tyhjennetään
End Sub

Esimerkki 3

Käytetään lomaketta jossa kerrotaan missä mennään. Se voidaan asettaa keskelle näyttöä jolloin se varmasti huomataan.
Koodi on kuten esimerkissä kaksi paisti että edistymisen näyttämiseksi käytetään lomaketta.
Lokmake on Form joka on määritelty ei modaaliseksi (ShowModal = False). Lomakkeen nimeksi on annettu FrmEdistyminen.
Lisäksi lomakkeelle on määritelty kaksi Label –objeltia, yksi johon laitettu teksti ”Luetteu” ja toinen joka on nimetty lblNayta ja jota ohjelma päivittää.

Objektien fonttikokoa on myös laitettu isommaksi.

Sub NaytaEdistyminen3()
    Dim i As Long
    Dim j As Long
    Dim s As Range
    Range(Selection, Selection.End(xlDown)).Select
    j = Selection.Rows.Count
    i = 1
    FrmEdistyminen.Show      'tuodaan lomake näyttöön
    For Each s In Selection
                  'lomakkeen objektia (lblNayta) päivitetään
        FrmEdistyminen.lblNayta.Caption = Format(i / j, "0.00%") 
        i = i + 1
    Next
    Unload FrmEdistyminen    'suljetaan lomake ja poistetaan muistista
End Sub

Lomakkeen asetukset kuvana

Lomakkeen asetukset

Lomakkeen asetukset