Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm und Inhaltübergabe

UserForm und Inhaltübergabe
15.04.2003 14:43:37
Christian
Hi

ich sitz gerade an meiner ersten UserForm und habe nicht wirklich viel Ahnung davon. Jedenfalls habe ich ein Userform mit drei textboxes und zwei CommandButton (OK / Abbruch).
Bei Ok sollen die Inhalte der Textboxes wieder übergeben werden.

Mein Code:
Sub Rechnung()
Dim Text1, Text2, Text3

UserForm1.Show

Rang("A1").Value = Text1
Rang("A2").Value = Text2
Rang("A3").Value = Text3
End sub

Der code der Userform:
Private Sub RechnungAbbruch_Click()
UserForm1.Hide
End Sub

Private Sub RechnungOK_Click()

Text1 = TextBox1.Value
Text2 = TextBox2.Value
Text3 = TextBox3.Value

UserForm1.Hide
End sub

Wie kriege ich jetzt den Rücksprung in Rechnung mit den Variablen (Text1 usw.)hin???


10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 15:05:03
Andreas S

Hallo,

wozu der Rücksprung? Die Zuweisung an die Zellen kann doch direkt in der Click-Sub erfolgen:

Range("A1").Value = Textbox1.Value
Range("A2").Value = Textbox2.Value
Range("A3").Value = Textbox3.Value

Gruss
Andreas


Re: UserForm und Inhaltübergabe
15.04.2003 15:10:09
ChrisL

Hallo Christian

Wenn ich deinen Code richtig interpretiere, dann sind keine Variablen notwendig...

Sub Rechnung()
Load UserForm1
TextBox1 = Range("A1")
TextBox2 = Range("A2")
TextBox3 = Range("A3")
UserForm1.Show
End sub

Private Sub RechnungAbbruch_Click()
Unload UserForm1
End Sub

Private Sub RechnungOK_Click()
Range("A1") = TextBox1
Range("A2") = TextBox2
Range("A3") = TextBox3
Unload UserForm1
End sub

Gruss
Chris



Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 15:14:59
Christian

Sorry, hätte ich noch dazu schreiben sollen.
Die Range-Zuweisung soll nur als Kontrolle dienen (zum Üben so zusagen)ob die Variable richtig übergeben wurde.
Damit soll späten noch etwas mehr gemacht werden.



Re: UserForm und Inhaltübergabe
15.04.2003 15:28:24
christian

Hi Chris

Also der Programmablauf solle wie folgt aussehen.
1. Sub Rechnung wird aufgerufen
2. Aus REchnung() wird die UserForm Aufgerufen
3. In der USerform1 sollen 3 Variablen eingegeben werden
4. die Userform1 übergibt die Variablen wieder an Rechnungen()
5. In Rechnungen werden die Variablen weiter verarbeitet.

Die Zuweisung auf A1 usw. sollte nur zum überprüfen sein. Wenn ich es bei mir versuche, dann kommt immer die Fehlermeldung:" das Argument ist nicht optional."

Vielleicht hilft es ja weiter bzw vielleicht habe ich dass was ich will etwas besser beschrieben!!!

Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 15:45:51
ChrisL

Hallo Christian

Das Übergeben in die Variable ist grundsätzlich schon richtig. Im Sub Rechnung fehlt allerdings der Bezug auf das Userform, da sich das Sub in einem Modul befindet. Deshalb...
Userform1.TextBox1 = xy

Ferner fehlt die richtig Deklaration der Variable... Schau mal in der Hilfe zu diesem Thema nach. Wenn es sich um Textwerte handelt, dann mit Dim Text1 As String, Text2 As String etc. deklarieren.

Die Variable steht aber immer nur im jeweiligen Sub zur Verfügung. Wenn du also einen Wert in der Variable behalten willst, dann in einem Modul als Public deklarieren.

Public Text1 As String

Gruss
Chris


Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 16:34:21
Christian

Hi Chris

ich habe etwas nachgeschaut und etwas umgeschrieben, jedoch funtioniert es immer noch nicht.
Ich habe die Text1 usw. vor alle Sub`s als Public deklariert.
Dann lasse ich das Userform in einem eigenem Sub aufrufen. Das Funktioniert auch. Bei betätigen von OK gilt folgender Code

Private Sub RechnungOK_Click()

Text1 = UserForm1.TextBox1.Value
Text2 = UserForm1.TextBox2.Value
Text3 = UserForm1.TextBox3.Value

UserForm1.Hide

Call Modul1.Rechnung(Text1, Text2, Text3)

End Sub

Sub Rechnung(Text1, Text2, Text3)

Range("A1").Value = Text1
Range("A2").Value = Text2
Range("A3").Value = Text3


End Sub

Alles läuft ohne Fehlermeldung durch, jedocjh steht dann in den drei Zellen A1-A3 nichts. Vielleicht könntest Du nochmal draufschauen.

Danke

Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 16:42:55
ChrisL

Hi Christian

Bei mir funktioniert es. Vorausgesetzt die Variablen Text1 etc. sind wie gesagt als Public deklariert. Würde es aber mal leicht umschreiben...

'im Userform1

Option Explicit

Private Sub CommandButton1_Click()
Text1 = UserForm1.TextBox1.Value
Text2 = UserForm1.TextBox2.Value
Text3 = UserForm1.TextBox3.Value

Call Modul1.Rechnung

Unload UserForm1
End Sub


'im Modul1

Option Explicit

Public Text1 As String, Text2 As String, Text3 As String

Sub Rechnung()
Range("A1").Value = Text1
Range("A2").Value = Text2
Range("A3").Value = Text3
End Sub


Gruss
Chris

Anzeige
Re: UserForm und Inhaltübergabe
15.04.2003 16:50:15
Christian

Danke,

bei mir funktioniert es jetzt auch. ich mußte noch hinter Call Modul1.Rechnung die () wegnehmen.
Aber eine Frage hät ich dann doch noch:
Was macht den diese Anweisung? >>>> Option Explicit

Ciao Christian

Re: UserForm und Inhaltübergabe
15.04.2003 16:53:42
ChrisL

Hallo Christian

Schau mal hier...
https://www.herber.de/forum/archiv/228to232/t230670.htm

Gruss
Chris

Re: UserForm und Inhaltübergabe
15.04.2003 17:00:42
Christian

Danke Nochmal für die Hilfe hab ne Menge gelernt.

CU Chritian



Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige