Hej! Jag är nybörjare, men har hållit på ett litet tag nu men har inte riktigt fått kläm på det hela... så jag kommer säkerligen nyttja forumet och läsa artiklar som finns många många gånger... Nu till frågan: Subrutinen Test i modulen Lista måste vara deklarerad som public. Jag gjorde enligt principen... men får syntax error eller när man pricis gjort ändringen så får man "Expected =" dessutom är raden rödmarkerad...? Vad kan jag ha glömt...? Det är som Sol skriver, har du deklarerat funktionen Test() "Public" i din modul, Hej De båda förslagen som Håkan skrev funkade... Tackar så mycket! ;) Hej WheelBoy!Anropa en modul
Jag har skapat en modul som subrutiner och funktioner ligger. Om jag har en subrutin som heter "Test" och modulen heter "Lista". Hur anropar jag den från t.ex. ett formulär? Har testat med detta:
Private Sub commandbutton_Click()
Lista.Test
End Sub
Men får bara fel: Wrong number of arguments or invalid property assignment".
Tacksam för hjälp.Sv: Anropa en modul
Ex.
Public Sub Test( )
.
.
End Sub
Sedan är det bara att skriva så här i Form.
Private Sub commandbutton_Click()
Test()
End Sub
/SolSv: Anropa en modul
Sv: Anropa en modul
så ska det inte vara några problem att anropa den från formuläret.
Du kan anropa den med antingen bara "Test" eller med "Lista.Test".
Fungerar det inte ändå!
Posta upp mer kod, så kan vi se om felet ligger någon annan stans.
<code>
Private Sub commandbutton_Click()
Call Test
Call Lista.Test
End Sub
Public Sub Test()
Debug.Print ("Hej!")
End Sub
</code>
/HåkanSv: Anropa en modul
>"Expected ="
Betyder att det är en funktion du anropar.
Dvs du skall anropa den så att den lämnar ett returvärde.
Public Function Test() As String
Test = "Hej"
End Function
Private Sub commandbutton_Click()
Dim retur As String
retur = Test
MsgBox retur
End Sub
/SvenSv: Anropa en modul
Fast jag provade med Call tidigare... konstigt.Sv: Anropa en modul
Som du kanske vet, så måste man inte använda "Call" vid funktionsanrop.
Jag använder det för tydlighetens/läsbarhetens skull (man ser direkt att det är ett funktionsanrop).
Det ska inte ha spelat någon roll i det här fallet.
Hursomhelst så var det bra att det löste sig.
/Håkan