Attribute VB_Name = "Module13" Private Function ViimeinenRivi() As Long 'Soluviitauksesta on otettu Mid-funktiolla soluviittauksesta loppuosa irti. 'Kuten parametreista selviää, ' koodissa on pyydetty noukkimaan yhdeksännestä positiosta alkaen kuusi merkkiä. 'Yhdeksänteen positioon viittaaminen tällä tavalla suoraan on turvallista niin kauan, ' kun sarakkeita kuvaavat kirjaimet ovat yhden merkin mittaisia. 'Osoitteessa on tietenkin yleensä vähemmän kuin 6 merkkiä lopettavassa rivinumerossa, ' mutta Mid-funktio ei häkelly tästä, vaan palauttaa kaiken sen, ' mitä merkkijonossa on yhdeksännestä positiosta eteenpäin. 1 ViimeinenRivi = CLng(Mid(Sheets("Data").Range("A1").CurrentRegion.Address, 9, 6)) End Function Sub TestaaViimeinenRivi() MsgBox ViimeinenRivi End Sub Private Sub AsetaKaavionSoluviittaus() On Error GoTo Virhe 1 ActiveChart.ChartWizard Source:=Sheets("Data").Range("$A$1:$C$" & ViimeinenRivi) Exit Sub Virhe: If Err.Number = 9 Then MsgBox "Virhe. Tarkista, että työkirjassa on taulukkosivu, jonka nimi on 'Data'." Else MsgBox "Muu virhe: " & Err.Number & " - " & Err.Description End If End Sub Sub MeneKaavioon() On Error GoTo Virhe 1 Sheets("Kaavio").Select 2 Call AsetaKaavionSoluviittaus Exit Sub Virhe: If Err.Number = 9 Then MsgBox "Virhe. Tarkista, että työkirjassa on kaaviosivu, jonka nimi on 'Kaavio'." Else MsgBox "Muu virhe: " & Err.Number & " - " & Err.Description End If End Sub