Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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
Inhaltsverzeichnis

Button aktivieren

Button aktivieren
Steffen
Hallo An Alle,
Ich würde gerne den cmdBerechnen, den Sie im Bild sehen können, solange „ausgegraut“ lassen , also nicht anwählbar machen, bis alle Eingabemöglichkeit in dieser Userform ausgefüllt sind. Ist sowas möglich? Man müsste dabei beachten, dass bei einer Änderung der Button sich wieder „ausgraut“. Diese Function muss dann also immer im Hintergrund laufen und ständig abfragen.
Userbild
Gruß Steffen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Button aktivieren
12.10.2011 11:12:51
Dirk
Hallo!
Du must halt im UF macro die Eingabeboxen ueberwachen. Falls eine = "" ist, dann commandbutton.enabled=false
ansonsten wenn alle "" sind, commandbutton.enabled=true.
Gruss
Dirk aus Dubai
AW: Button aktivieren
12.10.2011 11:44:33
Frank
Hallo Dirk und danke für deine Antwort...Mich würde das auch interessieren. Die Frage ist ja, wo muss ich diese Überwachung in der UserForm hinschreiben? Das ist mir nicht ganz klar.
Ich klicke also auf UserForm1 --> Code anzeigen und gebe das ein:
Option Explicit

Private Sub Button_active()
If TextBox1.Text = "" Or TextBox2.Text = "" Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
End Sub
https://www.herber.de/bbs/user/76972.xlsm
Ich habe gerade ein Brett vorm Kopf :-).
Vielen Dank und viele Grüße,
Frank
Anzeige
AW: Button aktivieren
12.10.2011 12:25:13
Henrik
Naja, das einfachste wäre wohl in jedem Textbox_Change eine Methode aufzurufen, die überprüft ob alles ausgefüllt wurde und dann den gewünschten Button ausgraut oder auch nicht:
So ungefähr:

Private Sub TextBox1_Change()
Call ButtonEnable
End Sub


Private Sub TextBox2_Change()
Call ButtonEnable
End Sub

Private Sub ButtonEnable()
If TextBox1.Text = "" And TextBox2.Text = "" Then 'hier alle auflisten die überwacht werden  _
sollen
CommandButton.Enabled = False
Else
CommandButton.Enabled = True
End If
End Sub
Gruß Henrik
Anzeige
AW: Button aktivieren
12.10.2011 12:41:30
Henrik
Hier mal ein gutes Beispiel von Nepumuk wie man es auch mit einem Klassenmodul eleganter lösen kann:

In die Userform kommt folgender Code rein:
Option Explicit
Private objTextBox() As clsTextBox
Private Sub UserForm_Activate()
Dim objControl As Control
Dim intCounter As Integer
For Each objControl In Controls
If TypeOf objControl Is MSForms.TextBox Then
intCounter = intCounter + 1
ReDim Preserve objTextBox(1 To intCounter)
Set objTextBox(intCounter) = New clsTextBox
Set objTextBox(intCounter).prpSetTextBox = objControl
End If
Next
End Sub
Private Sub UserForm_Terminate()
Dim intCounter As Integer
For intCounter = LBound(objTextBox) To UBound(objTextBox)
Set objTextBox(intCounter) = Nothing
Next
End Sub
Dazu ein Klassenmodul mit dem Namen "clsTextBox". Da kommt folgender Code rein:
Code:
Option Explicit
Private WithEvents mobjTextBox As MSForms.TextBox
Friend Property Set prpSetTextBox(objTextBox As MSForms.TextBox)
Set mobjTextBox = objTextBox
End Property
Private Sub mobjTextBox_Change()
If UserForm1.TextBox1.Text = "" And UserForm1.TextBox2.Text = "" Then 'hier alle auflisten  _
die überwacht werden _
sollen
UserForm1.CommandButton1.Enabled = False
Else
UserForm1.CommandButton1.Enabled = True
End If
End Sub
Und nochmal zur Erklärung. Du erstellst für jede Textbox eine neue Instanz der Klasse im  _
Arbeitsspeicher (Set objTextBox(intCounter) = New clsTextBox). Bei 10 Boxen hast du also 10 Instanzen welche alle das selbe machen. Das ist so, als würdest du für jede Textbox die selbe Routine schreiben. Jetzt klarer?
_________________
gruß Henrik
Anzeige
Button aktivieren/deaktivieren
12.10.2011 12:31:18
Matthias
Hallo
Du mußt aber auch den richtigen Objektnamen benutzen Button1 gibts bei Dir nicht
https://www.herber.de/bbs/user/76974.xls
Gruß Matthias
AW: Button aktivieren/deaktivieren
12.10.2011 13:22:59
Steffen
Hallo An Alle,
vielen Dank für die super hilfreichen Antworten!! THUMBS UP
Gruß
Steffen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige