Makro w Excel - przekazywanie danych


(Berkshireman) #1

Czesc,

Mam taki problem, z ktorym nie moge sobie od dluzszego czas poradzic. Oto przyklad:

Sub Macro1()

wartrosc = InputBox("Podaj wartosc")

Call Macro2

End Sub

Sub Macro2()

MsgBox (wartosc)

End Sub

Chodzi o to, zeby wartosc zostala przeniesiona pomiedzy dwoma sub.

Dotad radzilem sobie przez zapisywanie wartosci w jakiejs komorce arkusza, a w kolejnym sub odczytywalem wartosc tej komorki. To jest jednak uciazliwa droga na okolo.

Dzieki z gory za pomoc.


(Drobok) #2

Poczytaj o zmiennych globalnych ;]


(Tomek Matz) #3
Sub Macro1()

Dim wartosc As String

wartosc = InputBox("Podaj wartosc")

Call Macro2(wartosc)

End Sub


Sub Macro2(ByVal wartosc As String) ' Mozesz uzyc ByRef 

MsgBox (wartosc)

End Sub

(Berkshireman) #4

O to mi wlasnie chodzilo! Wielkie dzieki :slight_smile:


(Tomek Matz) #5

Nie ma za co.