Thema Datum  Von Nutzer Rating
Antwort
Rot Übergabe an Prozedur und Rückgabe
03.03.2015 15:05:21 Holger
Solved
03.03.2015 15:09:46 Holger
NotSolved
03.03.2015 15:33:30 Gast2141
NotSolved
03.03.2015 15:35:45 Gast87066
NotSolved
03.03.2015 15:58:18 Holger
NotSolved
03.03.2015 16:03:04 Holger
NotSolved
03.03.2015 16:42:44 Gast27820
NotSolved
03.03.2015 16:07:40 Gast25683
NotSolved
03.03.2015 16:50:22 Gast1976
NotSolved
04.03.2015 07:56:28 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
03.03.2015 15:05:21
Views:
1715
Rating: Antwort:
 Nein
Thema:
Übergabe an Prozedur und Rückgabe

Hallo liebe Leute,

 

ohne jetzt groß zu schauen, ob es ein ähnliches Thema gibt, möchte ich euch folgende Frage stellen:

Ich habe eine Prozedur, die eine Funktion aufruft, diese Funktion gibt mir einen berechneten Wert zurück und dieser Wert wird dann ausgegeben; über die Sinnfälligkeit brauchen wir uns nicht zu unterhalten, ich bin VBA-Neuling und fange im Moment erst mit VBA an :)

 

Function Addition(zahl1 As Integer, zahl2 As Integer) As Integer

Addition = zahl1 * zahl2

End Function

'---------------------------

Sub Main()
Dim x, y, ergebnis As Integer
x = 12
y = 10
ergebnis = Addition(x, y)
Debug.Print (ergebnis)

End Sub

 

 

Wenn ich die Prozedur Main() ausführe, bekomme ich die Meldung: "Fehler beim Kompilieren, Argumenttyp ByRef unverträglich"

Nun weiß ich, dass, schreibt man nichts vor die Übergabewerte der Funktion, die Variable ByRef übernommen wird. Diese Fehlermeldung zielt aber auf den

Datentyp der Variablen ab. Da ich aber x und y als Integer deklariert habe und sie dann auch so übergebe und die Funktion auch einen Integer erwartet, weiß ich nicht, warum der Compiler damit ein Problem hat.

Ersetze ich die Zeile ergebnis = Addition(x, y) durch ergebnis = Addition((x),(y))  (Klammerung der Übergabeparameter) dann funktionierts. Kann mir jemand erklären, was der Fehler ist und was programmtechnisch / compilertechnisch bei der Klammerung passiert, obwohl doch Übergabe- und Erwartungswert der Funktion gleich sind?

 

Beste Grüße, Holger


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Übergabe an Prozedur und Rückgabe
03.03.2015 15:05:21 Holger
Solved
03.03.2015 15:09:46 Holger
NotSolved
03.03.2015 15:33:30 Gast2141
NotSolved
03.03.2015 15:35:45 Gast87066
NotSolved
03.03.2015 15:58:18 Holger
NotSolved
03.03.2015 16:03:04 Holger
NotSolved
03.03.2015 16:42:44 Gast27820
NotSolved
03.03.2015 16:07:40 Gast25683
NotSolved
03.03.2015 16:50:22 Gast1976
NotSolved
04.03.2015 07:56:28 Holger
NotSolved