Avatar billede larsmartin Praktikant
06. juli 2009 - 14:48 Der er 1 kommentar og
1 løsning

Bruger defineret Funktioner

Hej,
Jeg har problemer en funktion jeg har lavet.
Det jeg gerne vil have min funktion til er at returnere den beregnet værdi og samtidig sætte et tal i en anden celle.

Lige nu kan jeg kun den ene ting:
Function nummer1()
Set test = Range("a1")
Makro1
nummer1 = 55
End Function

Private Sub Makro1()
test.Value = 5
End Sub

Hvis jeg trykker play i editoren så bliver A1 sat til 5.

Hvis jeg kalder funktionen fra en celle fremkommer #VÆRDI!
og A1 ændrer sig ikke.
Hvis jeg fjerner reference til Makro1, når jeg kalder funktionen fra celle, får cellen værdien 55, som den skal.

Er det muligt ved kald fra celle både at få funktionsværdien 55 og sat A1 til 5?

Tak for hjælpen
Avatar billede kdasummer Nybegynder
07. juli 2009 - 10:15 #1
Det ser også helt galt ud... aaaltid indsæt Option Explicit i toppen så compileren brokker sig hvis noget ikke er defineret.

Prøv i stedet dette:

Option Explicit

Function nummer1() as Integer
Dim rngTest as Excel.Range
set rngTest = Range("a1")
Makro rngTest
nummer1 = 55
End Function

Private Sub Makro(ByVal rngTest as Excel.Range)
rngTest.value = 5
End Sub
Avatar billede larsmartin Praktikant
08. juli 2009 - 00:10 #2
Hej,
Jeg kan se din kode er noget mere brugervenlig, men jeg kan nu ikke få den til at virke:(
Hvis du i en tilfældig celle skriver =nummer1(), kommer der en #VÆRDI! og der står ikke 5 i A1.
Hvis du sletter Makro rngTest reference, så får cellen med =nummer1() værdien 55, men altså stadig ikke noget i A1.
Hvis jeg bare trykker play i editor, så kommer værdien i A1, men cellen med =nummer1() giver stadig bare #VÆRDI!.
Så der er nu et eller andet galt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester