Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

hab call noch nicht verstanden

hab call noch nicht verstanden
15.09.2004 09:00:47
ray
Hallo,
F1 und google konnte mir nicht so wirkl weiterhelfen.
ich mache:
sub yx()
Dim ZtRv As Date
ZtRv = DateSerial(TextBox3, TextBox2, TextBox1)
später in anderem sub
sub z()
...
Range("n15").Value = "Mt " & ZtRv 'hier muß irgendwie call hin...
Kann mir das bitte nochmal jemand erklären,
viele Grüße aus Hámburg, diesmal mir Zahnschmerzen...
ray

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hab call noch nicht verstanden
Andre
Hi Ray,
was genau willst du denn mit "call" bezwecken?
Gruß Andre
AW: hab call noch nicht verstanden
15.09.2004 09:21:55
ray
Hi andre, wie soll ich's anders erklären als geschrieben..
Hm,
in sub 1 definieren ich ZtRv
in sub 2 will ich diese definition abfragen und verwenden
Range("n15").Value = "Mt " & ZtRv
gruß ray
AW: hab call noch nicht verstanden
15.09.2004 09:38:30
olaf
Versuchs mal mit:
(aus dem ersten Makro)
Call makro2(ZTRv)
(dann im zweiten Makro)
Sub Makro2(ZTRv)
dann stehen Dir die Werte von ZTRv zur Verfügung
Olaf
AW: hab call noch nicht verstanden
15.09.2004 09:56:25
ray
Hi olaf,
das heißt, das call nicht abruft sondern zuruft?!?
und es setzt voraus, daß am anfang weiß wo ich ZTRv später mal brauche.
Damit ist call nicht das richtige. wie geht es anders.
Gruß ray
Anzeige
AW: hab call noch nicht verstanden
Harald
Hallo ray,
mit Call hat das m.E: nichts zutun.
Call ruft eine andere

Sub auf, Punkt. Da eine 

Sub kein direktes Ergebnis zurückliefern kann, kannst Du damit also in SUB2() erst einmal nichts verwenden, was in SUB1() berechnet wird.
Es gibt (mindestens) 2 Möglichkeiten:
1) definiere ZtRv global mittels PUBLIC Anweisung:
Public ZtRv as Date
Sub1()
ZtRv = DateSerial(TextBox3, TextBox2, TextBox1)
...End Sub

Dann kannst Du in Sub2() auf ZtRv zugreifen.
Aber: Diese Lösung ist unelegant und fehlerträchtig, weil jeder Zugriff auf ZtRv hat und außerdem nicht definiert ist, wann ZtRv geändert wurde, wenn Du es in Sub2() verwenden willst. Sauber wäre daher Lösung 2, eine Funktion:

Function Berechne_ZtRv() as Date
ZtRv = DateSerial(TextBox3, TextBox2, TextBox1)
End Function

Und in Sub2() dann:
Sub2()
...
Range("n15").Value = "Mt " & Berechne_ZtRv()
...
End Sub

Gruß Harald
Anzeige
AW: hab call noch nicht verstanden
15.09.2004 11:57:22
ray
Hallo Harad und vielen Dank für diese ProfiLösung.
Ich enscheide mich für Lösung function
Hab grad mal mit F1 versucht, steig ich aber nicht so hinter.
Wie benutze ich

Function bzw wo schreibe ich es hin. neues sub? oder?

Function Berechne_ZtRv() as Date
ZtRv = DateSerial(TextBox3, TextBox2, TextBox1)
End Function

haben die ... was zu bedeuten?
Ich dank dir
ray
AW: hab call noch nicht verstanden
Harald
Hallo ray,
die Function() schreibst Du wie eine normale Sub in ein Modul. Weiteres dazu in der Hilfe unter "function".
Die ... sind auch als Auslassungszeichen bekannt und bedeuten, dass da Dein Code hinkommt. Wenn Du allerdings keinen weiteren Code haben solltest ...
Gruß Harald
P.S.: Bist Du sicher, dass Deine Einstufung mit "VBA-gut" passt? Ich denke, dazu gehört schon, dass man eine Funktion eingeben kann.
Anzeige
AW: hab call noch nicht verstanden
15.09.2004 13:27:15
ray
hallo harald, ja, in Teilbereichen bin ich gut. Nicht in allem, aber dank leuten wir dir lerne ich schnell dazu. Danke dafür.
Hab mir das grad in meinem code reingefummelt und muß sagen, daß Dein Weg sehr genial ist. das wird mir viel arbeit ersparen. Nochmals danke.
Gruß ray

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige