Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
userform ins programm einbinden
07.09.2005 13:38:52
andre
Hallo,
ich habe ein button auf meinem Tabellenblatt festgelegt.
Nach betätigung des Button öffnet sich eine Userfom mit einer abfrage ProgA und ProgB, über optionbuttons.
Das Problem ist: Wie spreche ich die Userform an(damit sie sich öffnet). Ich versuche es immer mit userform1.show, aber dabei werden ja keine werte übergeben. Wie übergebe ich übergebe ich einen Wert in mein eigenliches Programm?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform ins programm einbinden
07.09.2005 14:19:34
Ralf
Hallo andre,
die show-methode ist schon ok. Die nächste Frage ist doch, welche Werte willst Du wo übernehmen?
Nehmen wir einmal an, Du möchtest in der Textbox1 auf Userform1 den Wert der Zelle A1 ausgeben lassen. Dann könntest Du das so:
Suche Dir das Activate-Ereignis der Form und schreibe dort hinein:
Textbox1 = Range("A1")
Ciao, Ralf
AW: userform ins programm einbinden
07.09.2005 14:36:40
andre
Ja gut,
aber mein Problem ist eigentlich dieses:
Nach dem betätigen des button startet ein Programm. Es ließt zwei Zellen aus.
Danach fragt mich die Inputbox nach einen weiteren wert.
Jetzt habe ich drei Werte.
Jetzt soll sich die Userfom öffnen mit 2-Auswahlmöglichkeiten.
z.B. Programm A und Programm B
Eines davon wird ausgewählt, direkt danach soll sich die Userform wieder schließen.
Ich brauche davon ein True oder False.
Das Programm überprüft ProgA = true oder False ebenfalls ProgB=true oder False.
Dementsprechend wird ein der rest eingeleitet.
Das ist das Problem
Kann man auch einer Userfom Variablen übergeben und sie berechnet wiederbekommen?
Anzeige
AW: userform ins programm einbinden
07.09.2005 15:08:47
Ralf
Hallo andre,
erstelle boolesche Variable. Dann mußt Du, nur um zu fragen welches Programm gestartet werden soll, nicht extra eine Form aufrufen, da genügt eine Msgbox-Funktion oder eine Inputbox. Bsp. für Msgbox (hier brauchst Du nicht einmal die Variable):
Sub Dein_Startprogramm()
Dim bProg As Boolean
'Dein Code
if Msgbox("Soll Programm 2 gestartet werden?",vbyesno,"Auswahl") vbyes then
'Programm 1 starten
else
'Programm 2 starten
end if
Userform1.show
AW: userform ins programm einbinden
07.09.2005 15:29:54
Andre
Ok prima, das klappt schon mal.
Könnte ich den auch sowas machen:
Private Sub A_001_Click()
Dim a As Long
Dim B as Long
Dim c as long
Dim dProg as Boolean
a= cells(4, 5)
b= cells(4, 6)
if Msgbox("Soll Programm 2 gestartet werden?",vbyesno,"Auswahl") vbyes then
'Userform1.show starten, a und b mit übergeben, berechnen und wieder zurück geben
else
'Userform2.show starten, a und b mit übergeben, berechnen und wieder zurück geben
end if
cells(4, 5)=a
cells(4, 6)=b
Anzeige
AW: userform ins programm einbinden
07.09.2005 15:40:37
Ralf
Hallo andre,
ich würde erst berechnen lassen und dann die Formen starten. Ansonsten kannst Du alles machen, solange es den Regeln der Syntax entspricht.
Ciao, Ralf
AW: userform ins programm einbinden
andre
Ok, aber dann brauche ich die Userforms eigentlich gar nicht mehr nicht mehr.
Ich habe schon was vorbereitet. Ist halt für den Benutzer optisch schöner.
Ist es denn möglich 2 Werte einer Userform zuzuweisen - Sie berechnen lassen - und Sie wieder zurück geben?
Ungefähr so wie:

Sub Prog()
Dim a as long
Dim b as Long
'Code
call Userform1(a, b)
'Code
End Sub

-------------------------------------------

Sub Useform1(byref x as long, _
byref y as long)
'Code
End Sub

Anzeige
AW: userform ins programm einbinden
07.09.2005 17:51:59
Ralf
...
mit Call kannst Du Funktionen aufrufen, aber keine Form. Und selbst beim Aufruf von Funktionen kannst Du das Call weglassen.
Bsp. Du willst aus der Prozedur Ausgang die Prozedur mit dem Namen Zeigen aufrufen.

Sub Ausgang()
Zeigen 'das ist der Aufruf
End Sub

'Jetzt kommt die Prozedur

Sub Zeigen()
Msgbox "Ich wurde gerade aufgerufen"
End Sub

....oder...
Funktionsaufruf

Sub Ausgang2()
Dim a as integer, b as integer
a = 10
b = 2
'Aufruf der Funktion Rechnen mit Übergabe von a und b
Msgbox rechnen (a, b)
Userform1.Textbox1 = Rechnen (a, b)
End Sub

'Jetzt die Funktion selbst...

Function Rechnen(Zahl1 as integer, Zahl2 as integer) as Integer
Rechnen = Zahl1 + Zahl2
End Function

Du kannst natürlich auch der Form Werte übergeben. Bsp.: Userform1.Height = Rechnen(a, b)
aber ob das so sinnvoll ist?
Ciao, Ralf
Anzeige
AW: userform ins programm einbinden
07.09.2005 18:13:26
andre
So,
ich denke mal das wird mir erstmal weiterhelfen.
Ein großes Dankeschön schon mal dafür.
Bei weiterne Fragen wird man sich sicher noch ein anderes mal hier über den Weg laufen.
Mfg Andre
AW: userform ins programm einbinden
08.09.2005 06:02:26
Hajo_Zi
Hallo Andre,
warum ist der Beitrag offen? Das lese ich nicht aus Deinem Beitrag.
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige