Jukka Niemi/Dataniemi:

Ohjausparametrien anto Excelistä:

Erilaisia tapoja ohjata ohjelmien toimintaa Excelistä käsin

Excel-taulukko muodostaa hyvän alustan toimivien sovellusten rakentamiselle. Sovellusten toimintaa voidaan ohjata Visual Basic -koodilla. Ohjausparametrien antamiseen Excel-taulukosta on olemassa monia käteviä keinoja, kuten seuraavasta ilmenee. Voit testata ohjelmakoodien toimintaa valmiissa Excel-sovelluksessa, joka löytyy tiedostosta: ohjaustavat.xls

Solussa olevan tekstin avulla

Siirtyminen ohjelmallisesti tiettyyn paikkaan solussa olevan tekstin avulla
Sub testi1()
    Dim paikka As String
    paikka = ActiveCell.Value
    Range(paikka).Select
End Sub

Solussa olevan tekstihuomautuksen avulla

Siirtyminen ohjelmallisesti tiettyyn paikkaan solussa olevan soluhuomautuksen avulla
Sub testi2()
    Dim paikka As String
    paikka = ActiveCell.NoteText
    Range(paikka).Select

End Sub

Solussa olevan nimen avulla

Siirtyminen ohjelmallisesti tiettyyn paikkaan solussa olevan nimen avulla
Sub testi3()
    Dim paikka As String
    paikka = ActiveCell.Value
    Range(paikka).Select

End Sub

Soluosoitteen avulla

Ehdollinen toiminta, jossa käytetään hyväksi soluosoitteita ohjelmallisesti
Sub testi4()
    Select Case ActiveCell.Address
    Case "$C$17"
        Cells(15, 1).Value = "Hyvää iltapäivää"
    Case "$C$19"
        Cells(15, 7).Value = "Mitä kuuluu"
    End Select
End Sub

Solun muotoilujen avulla (värit)

Ehdollinen toiminta, jossa käytetään hyväksi solun muotoiluja, esim. värejä
Sub testi5()
    If ActiveCell.Interior.ColorIndex <> 4 Then
    x = MsgBox("Et voi syöttää tähän soluun", , "VÄÄRÄ PAIKKA")
    Else
    ActiveCell.Value = 100
    End If
End Sub

Taulukon objektien avulla

Kaksitoimisten painikkeiden toteuttaminen
Sub testi6()
If ActiveSheet.CommandButton1.Caption = "Näytä kuva" Then
    ActiveSheet.Shapes("Picture 2").Visible = True
    ActiveSheet.CommandButton1.Caption = "Piilota kuva"
ElseIf ActiveSheet.CommandButton1.Caption = "Piilota kuva" Then
    ActiveSheet.Shapes("Picture 2").Visible = False
    ActiveSheet.CommandButton1.Caption = "Näytä kuva"
End If
End Sub