Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA -- Muuttujan arvon kutsuminen toisesta aliohjelmasta?

Kia [10.03.2005 21:16:11]

#

Onnistuuko?
Esim. pääohjelmassa pitää verrata kahta päivää keskenään (a ja b). Toinen näistä (b) haetaan tiedostosta erillisen aliohjelman kautta, koska jos tuossa tiedostoaliohjelmassa tulee virheitä, niille on omat hoitokeinot kuin jos virheitä tulee pääohjelmassa.

Jos siis tuolle tiedoston tiedoille annetaan aliohjelmassa arvo b, niin voiko ja miten sitä kutsutaan pääohjelmassa?

hunajavohveli [10.03.2005 21:25:37]

#

En ole varma VBA:sta, mutta perus-VB:ssä muuttuja jaetaan aliohjelmien ja pääohjelman kesken määrittelemällä se aivan koodin alussa (General, Declarations) aliohjelmien ulkopuolella.

Spongi [10.03.2005 21:42:40]

#

Eikö funktio oisi tähän paikallaan?

Sub jee()
 a = 10
 b = makkara
End Sub

Function makkara() As Integer
 'lue se luku vaikka muuttujaan "sieni"

 makkara = sieni
End Function

hunajavohveli [10.03.2005 21:45:31]

#

Funktio on tosiaan yleensä loogisin tapa tehdä tuollainen. Muuttujien jakamista pitäisikin oikeastaan välttää silloin, kun homman voi hoitaa myös funktiolla.

Kia [11.03.2005 08:24:45]

#

Kiitokset Spongille, vaikka hyvä makkara menikin pilalle.

Näytti toimivan tuo, mutta tein myös sellaisen havainnon, että toimii vain, jos tuo pääohjelma ja funktio ovat samassa objektissa, kuten formi tai työkirja (excel -sovellus). Sen sijaan esim. workbookista yli taulukon tuo kutsuminen ei toiminut. Mutta tällä ei niin väliä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta