Attribute VB_Name = "Module1" Public Sub DlgDemo0() Application.Dialogs(xlDialogSaveAs).Show End Sub Public Sub DlgDemo2() Application.Dialogs(xlDialogSaveAs).Show "Testi" End Sub Public Sub DlgDemo3() Application.Dialogs(xlDialogZoom).Show End Sub Public Sub DlgDemo4() Application.Dialogs(xlDialogZoom).Show 75 End Sub Public Sub TallennaOletuksilla() Application.Dialogs(xlDialogSaveAs).Show End Sub Public Sub TallennaSuojattuna() Application.Dialogs(xlDialogSaveAs).Show "Testi.xls", xlExcel5, "jemma1", True, "jemma2", True End Sub Public Sub OmaNumberFormat() Application.Dialogs(xlDialogFormatNumber).Show End Sub Public Sub OmaClear() Dim Ehdotus As Long If ActiveCell.Value <> "" Then Ehdotus = 3 Else Ehdotus = 2 End If Application.Dialogs(xlDialogClear).Show Ehdotus End Sub Public Function Tarkista(ByVal ShName As String) As Boolean Dim TmpB As Boolean TmpB = False If Left(ShName, 1) = "T" Then TmpB = True Tarkista = TmpB End Function Public Sub AvaaApuTiedosto() If Application.Dialogs(xlDialogOpen).Show Then If Tarkista(Application.ActiveWorkbook.Name) Then MsgBox "Avattu työkirja kelpuutettu." 'Koodia Else MsgBox "Avattua työkirjaa ei voi käyttää." End If Else MsgBox "Peruutit työkirjan avaamisen" End If End Sub Public Sub OmaNumberFormatEhdotus() 'Ensin tarkistetaan, onko solussa oleva arvo tulkittavissa päivämääräksi (rivi 2). 'Jos näin on, solu muotoillaan päivämääräksi käyttäen kooditusta pp.kk.vvvv. 'Huomaa, että tässä ei ole otettu maa-asetuksia huomioon mitenkään. 'Tämä koodi ei siis toimisi joillain muilla maa-asetuksilla. 'Jos koodin pitää toimia myös muilla maa-asetuksilla, riviä 3 ei voisi suorittaa näin, tilalle pitäisi esimerkiksi rakentaa ehtolause. 'Katso halutessasi ideoita maa-asetusten mukaisen ehtolauseen kirjoittamiseen tämän saman luvun jaksosta Maa-asetukset ja kieliversiot. 'Jos solun arvo ei ole tulkittavissa päivämääräksi (rivi 2), tarkistetaan onko se lukuarvoinen (rivi 4). 'Lukuarvoisista soluista kokonaisluvut muotoillaan ilman desimaaliosaa (rivi 6) ja liukuluvut kahden desimaalin mukaisesti (rivi 8). 'Kokonaisluvun havainnoiniin on käytetty solun tarkan arvon ja solun kokonaislukuarvon yhtäsuuruuden vertaamista (rivi 5). 'Jos solun arvo ei ole päivämäärämuotoinen eikä lukuarvoinen, siitä tehdään tekstimuotoinen (rivi 11). 'Kaikissa tapauksissa toivottu ehdotus talletetaan muuttujaan OmaFormat. Koodin lopussa kutsutaan muotoilulomaketta OmaFormat-parametrilla (rivi 13). 'Kun solussa on ollut esimerkiksi päivämäärä, muotoilua ehdotetaan tiettyyn päivämäärämuotoon. Dim OmaFormat As String If IsDate(ActiveCell.Value) Then OmaFormat = "pp.kk.vvvv" ElseIf IsNumeric(ActiveCell.Value) Then If ActiveCell.Value = CLng(ActiveCell.Value) Then OmaFormat = "# ##0" Else OmaFormat = "# ##0,00" End If Else OmaFormat = "@" End If Application.Dialogs(xlDialogFormatNumber).Show OmaFormat End Sub