Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   VBA Funktion aufrufen (https://www.delphipraxis.net/144259-vba-funktion-aufrufen.html)

Scorpion 3. Dez 2009 15:21


VBA Funktion aufrufen
 
Hallo,

ich hoffe, es kennt sich jemand ein bisschen mit VBA aus.

Ich habe in Excel eine Funktion geschrieben:

Delphi-Quellcode:
Sub CheckForDependency(y1, x1 As Integer)
...
End Sub
wenn ich diese jetzt aus Private Sub CommandButton1_Click() mit folgendem aufruf starten will
Delphi-Quellcode:
CheckForDependency(y, x)
meint der Compiler, es würde ein = erwartet ?? Wieso, was mach ich falsch

Vielen Dank

Forlan 3. Dez 2009 15:26

Re: VBA Funktion aufrufen
 
Hi

Ich kenn mich jetzt nicht so genau mit VBA aus, aber hast du schonmal

Code:
Sub CheckForDependency(y1 As Integer, x1 As Integer)
versucht?

Gruß,

Medium 3. Dez 2009 17:21

Re: VBA Funktion aufrufen
 
Ich musste kürzlich Teile aus einem VB Programm übernehmen, und in dem waren die Parameterlisten ohne Klammern. Da ich sonst totaler VB-Nixkönner bin, hab ich das mal als normal hingenommen - evtl. muss das ja echt so (auch wenn's echt mal... seltsam (ums nett auszudrücken) ausschaut :))

Reinhold 3. Dez 2009 17:24

Re: VBA Funktion aufrufen
 
Hi,

du ruft die Prozedure als Function auf.

Richtig wäre folgender Aufruf ohne Klammern.

Code:
CheckForDependency y, x
Parameter werden bei Funktionen in Klammern und bei Proceduren (Sub´s) ohne Klammer übergeben.

Gruß Reinhold

shmia 3. Dez 2009 17:25

Re: VBA Funktion aufrufen
 
Zitat:

Zitat von Medium
... und in dem waren die Parameterlisten ohne Klammern.

Wenn es sich um eine Funktion handelt und der Rückgabewert verwendet wird, dann sind Klammern um die Argumentliste zu setzen.
Bei normalen Subroutinen dürfen keine Klammern gesetzt werden.
Dies gilt auf für Funktionen, dessen Rückgabewert nicht verwendet wird.

Ein bisschen krank, ist aber so :-)

Chemiker 3. Dez 2009 18:09

Re: VBA Funktion aufrufen
 
Hallo Scorpion,

Zitat:

Zitat von Scorpion
Ich habe in Excel eine Funktion geschrieben:

Für mich sieht das aus wie eine Procedure(Sub).

Beispiel einer Funktion:

SQL-Code:
Function Test(a As Integer, b As Integer) As Integer
  Test = a + b
End Function
Aufruf:

SQL-Code:
=Test(10;20)
Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz