Olisi tarpeen tehdä lisätä makroon ominaisuus, joka lukee valitulta välilehdeltä tietoja.
välilehti valitaan yhdistelmäruudusta, jonka arvo
tulee esim taulukon soluun a1, josta makro sitten
lukee arvon ja pitäisi löytää sen mukaan oikea välilehti.
näin yritin, mutta ei suostu toimimaan tuo Worksheets(koe) kohta.
Sub Makro2()
rivinyt = 5
kplsarake = 5
koe = Worksheets("Yhteenvetolomake").Cells(1, 1).Value
kappaleet = Worksheets(koe).Cells(rivinyt, kplsarake).Value
End Sub
välilehti valitaan yhdistelmäruudusta, jonka arvo
tulee esim taulukon soluun a1, josta makro sitten
lukee arvon ja pitäisi löytää sen mukaan oikea välilehti.
näin yritin, mutta ei suostu toimimaan tuo Worksheets(koe) kohta.
Sub Makro2()
rivinyt = 5
kplsarake = 5
koe = Worksheets("Yhteenvetolomake").Cells(1, 1).Value
kappaleet = Worksheets(koe).Cells(rivinyt, kplsarake).Value
End Sub
Vastaukset 3
Vanhimmat
Dim koe, rivinyt, kplsarake, kappaleet As String
rivinyt = 5
kplsarake = 5
Sheets("Yhteenvetolomake").Select
Cells(1, 1).Select
koe = ActiveCell.Value
Sheets(koe).Select
Cells(rivinyt, kplsarake).Select
kappaleet = ActiveCell.Value
MsgBox kappaleet
Kyllä tuo minulla toimi, kun copy-pastesin sen tuosta Exceliin. (Edellyttäen, että on olemassa taulukko "Yhteenvetolomake" ja sen solussa A1 sen toisen taulukon nimi.) Onko sinulla varmasti noiden taulukoiden nimet oikein kirjoitettuna?
Toisaalta et ole myöskään määritellyt muuttujia Dim-lauseella, kuten tuossa toidessa vastauksessa on tehty. Tällöin vahingossa väärin kirjoitettu muuttujanimi saattaa aiheuttaa todella vaikeasti paikannettavia virheitä. Itse olen aina määritellyt kaikki muuttujat, sekä laittanut moduulin alkuun "Option Explicit", jolloin määrittelemättömät muuttujat antavat virheilmoituksen.
Vika oli todellakin tuossa Dim lauseen puuttumisessa. Tahtoo jäädä minulta monesti tekemättä, koska useinmiten homma toimii ilmankin.
Pitänee ottaa opiksi.