TextBox in UserForm (Wert löschen)

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 09:53:50

Hallo Excelfreunde
Guten Morgen und einen schönen Sonntag

kann mir einer von Euch bei meinem Problem vieleicht auf die Sprünge helfen
folgender Sachverstand: ich habe in einer UserForm1 (TextBox1 und TextBox22)
wenn ich zB.in TextBox1 klicke öffnet sich UserForm2 mit dem Calendar1 Steuerelement.Das fuktioniert so weit auch alles ganz gut.
nur das Problem ist, wenn ich die UserForm2 (mit Calendar1) über das schließen Kreuz der UserForm2 schließen möchte soll die Active TextBox (in diesem Fall TextBox1) nicht irgendein Datum enthalten, sondern unbedingt leer bleiben.
das gleiche soll passieren, wenn ich in die Text Box22 klicke.

der Code funktioniert bestens nur bei (MsgBox "so nicht!") müßte die Active TextBox angesprochen werden, und der Inhalt der Activen TextBox wieder gelöscht werden.


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
  'hier soll der Inhalt der Activen TextBox gelöscht werden
MsgBox "So nicht!"
Cancel = True
End If
End Sub


kann mir da von Euch einer weiterhelfen ????
vielen Dank bereits im voraus
Gruß Andreas
Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 10:42:41

Hallo

Der Code trägt nichts ein in die Textbox, ausserdem wird das schliessen sowieso verhindert.
Ich erkenne dein Problem nicht ganz.
Wie überträgst du denn dein Datum sonst ?
Ansonsten bau einen "Abbrechen" Button ein, der nur die UF schliesst.

Gruss Rainer


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 10:55:55

Hallo Ramses

erst einmal danke für deine schnelle Antwort
mit folgenden Code übertrage ich das Datum aus der UserForm2 (Calendar1) in meine Textboxen.
folgendes Problem besteht bei mir:
wenn ich zB. die TextBox22 versehentlich angeklickt habe, und ich kein Datum in die TextBox haben möchte, wird mir trotzdem wenn ich über das schließen Kreuz der UserForm2 gehe immer das Datum 13.07.2004 eingetragen.
ich möchte aber in diesem Fall nichts in der TextBox stehen Haben.
das ganze soll immer in der aktiven TextBox erfolgen, weil ich mehrere TextBoxen in der UserForm1 habe in denen ein datum über das Calendar1 Steuerelement eingegebeb werden soll.
ich hoffe das ist verständlich erklärt.



Private Sub Calendar1_Click()
ActiveControl = Calendar1.Value
UserForm1.ActiveControl.SetFocus
Me.Hide
End Sub



Private Sub UserForm_Activate()
Calendar1.Value = Now
End Sub



Private Sub TextBox22_Enter()
UserForm2.Show 'Name des userform mit dem Calendar1
UserForm1.TextBox22.Value = UserForm2.Calendar1.Value
End Sub


Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 11:15:16

Hallo

Wie ich vorhin schon gesagt habe, lege doch die Übergabe deines Datum auf einen OK-Button und biete einen Abbrechen Button an, dann kannst du das Calender-Click Ereignis löschen.

Ein versehentliches "Klicken" der Textbox hat somit keine Konsequez.
Dieses ganze automatische Hin- und Her ist viel zu kompliziert.

Ausserdem zum eintragen des aktuellen Datums in die Textbox brauchst du ja noch keine extra Userform mit einem Kalender-Element.

Gruss Rainer


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 11:30:13

Hallo Rainer
werd ich mal ausprobieren
wenn nicht melde ich mich noch einmal

Danke trotzdem
Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 11:56:26

Hallo Excelfreunde
Hallo Rainer

ich habe das mit deinem Vorschlag ausprobiert
folgendes Makro habe ich auf den Abbrechen Button gelegt


Private Sub CommandButton1_Click()
Unload Me
End Sub


auch jetzt wird mir, wenn ich auf den CommandButton1 klicke das Datum 13.07.2004 in die Active TextBox geschrieben.
wie gesagt soll aber in diesem Fall die TextBox leer bleiben.
wie sieht eventuell der Code dafür aus ????
Hilfe ich komme einfach nicht mehr weiter

Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 11:59:28

Hallo

ist ja logisch.
Schau mal deine Prozedur "Textbox_Enter" an !
Du öffnest die UF mit dem Calenderelement, UND übernimmst Hier gleichzeitig den Wert aus dem Calender !!!
Das heisst, der Datums-Eintrag wird hier bereits gesetzt, und nicht erst beim anwählen des Calenders bzw. beim Schliessen der Calender-UF

Gruss Rainer


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 13:30:26

Hallo

als VBA Neuling verstehe ich jetzt überhaupt nichts mehr
wie müßte ich jetzt einer TextBox in einer UserForm den Wert aus dem Calendar1 Steuerelement übergeben, und wenn ich keinen Wert ausgewähl habe bzw.haben will, soll die Text Box leer bleiben.
Wie muß denn dann der Code dafür lauten ???
kann mir jemand den Code dafür schreiben ???
bis jetzt binn ich mit meiner Frage noch nicht weitergekommen

Danke nochmals an alle Helfer
Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 14:28:33

Hallo

"...als VBA Neuling verstehe ich jetzt überhaupt nichts mehr..."

Dann musst du sagen dass du keine Ahnung hast. Eine VBA-Neuling konstruiert normalerweise diese Variante nicht, die du da gezeigt hast.

"..kann mir jemand den Code dafür schreiben ???...."

Steht eigentlich alles schon in deinem Code !!!!
Das muss in den OK Button

Userform1.Textbox1.Text = Calender1.Value

Wenn du wissen willst, woher der Aufruf aus der Textbox kommt, schreib die Bezeichnung in eine Public Variable

In ein Modul

Public Parent_Box As String

In das Enter Ereignis deiner Textbox


Sub Textbox1_Enter()
Parent_Box = Me.ActiveControl.name
Userform2.Show
End Sub



Und in den OK-Button deiner Calender UF


Sub Commandbutton1_Click()
Userform1.Controls(Parent_Box).Text = Me.Calender1.Value
Unload Me
End Sub



Gruss Rainer


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 15:00:50

Hallo Rainer

den Code habe ich mir mühsam aus VBA-Handbüchern
aus den Beispielen im Excel Forum zusammengebastelt.
das klapt ja alles auch soweit
nun ich möchte einfach nur in meine UserForm2 einen CommandButton1(Abbrechen),
wenn ich diesen "Abbrechen" Button anklicke soll die Active TextBox geleert werden.
Also nichts mehr in der TextBox drinn stehen.
bei mir wird aber immer das Datum 13.07.2004 rein geschrieben.
und das soll eben verhindert werden.

nochmals Danke
Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 15:18:05

Hallo

"... den Code habe ich mir mühsam aus VBA-Handbüchern aus den Beispielen im Excel Forum zusammengebastelt..."

Es reicht nicht zusammen zu basteln, wenn die Grundzüge nicht verstanden werden.
Und wenn du schon bastelst, so solltest du zumindest das verstehen, was du machst.

Ich habe es dir voher schon mal geschrieben, du übernimmst das DAtum bereits wenn du die UF aufrufst.

Das erstellen eines Button wirst du ja beherschen, damit du OK und Abbrechen erstellen kannst.

Löschen!

Private Sub Calendar1_Click()
ActiveControl = Calendar1.Value
UserForm1.ActiveControl.SetFocus
Me.Hide
End Sub





Private Sub UserForm_Activate()
Calendar1.Value = Now
End Sub





Private Sub TextBox22_Enter()
UserForm2.Show 'Name des userform mit dem Calendar1
'Hier übernimmst du das Datum bereits in die Textbox!!!!!!!
UserForm1.TextBox22.Value = UserForm2.Calendar1.Value
'Also lösche diese Zeile
End Sub


Den Rest habe ich dir ja vorhin schon beschrieben

Gruss Rainer


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Andreas.R
Geschrieben am: 13.02.2005 17:02:41

Hallo Rainer

warum so forsch
ich bin dabei VBA zu erlernen, und bin über jede Hilfe dankbar
es fällt mir manchmal nicht leicht gleich auf Anhieb alles zu verstehen und nachzuvollziehen, was ein Code so macht.
Aber ich denke da bin ich nicht der einzige im Forum.
bis jetzt wurde mir immer gut geholfen

Also noch mal besten dank für Deine Mühe

Gruß Andreas


Bild


Betrifft: AW: TextBox in UserForm (Wert löschen) von: Ramses
Geschrieben am: 13.02.2005 17:31:01

Hallo

"..warum so forsch..."
Weil du nicht das umsetzt, was ich dir sage ;-)

"...ich bin dabei VBA zu erlernen, und bin über jede Hilfe dankbar ..."
Die erhältst du auch von mir, allerdings so wie ich es richtig finde.
Solltest du anderer Meinung sein über die Art der Umsetzung, musst du das sagen, dann klinke ich mich aus.

Wenn du das, was ich dir schreibe nicht umsetzen kannst, musst du das auch sagen, dann erkläre ich es dir gerne nochmal.
Aber es ist mühsam, durch einen langen Thread hindurch immer wieder das gleiche zu sagen und es geht nicht vorwärts ;-)

Nix für ungut...

Gruss Rainer


Bild


Betrifft: habe die Lösung gefunden von: Andreas.R
Geschrieben am: 15.02.2005 10:52:22

für alle die es interressiert

habe es so gelöst
die Zelle "HH1" im Tabellenblatt "Rechnungen" muß in disem Fall leer bleiben
für die Codezeile "ActiveControl = Sheets("Rechnungen").Range("HH1").Value"
giebt es sicher eine elegantere Weise, aber das klappt so wunderbar.
Wenn ich jetzt auf das SchließenKreuz der UserForm2 klicke, bleibt die Active TextBox leer.

<<< Code in die UserForm2 (Calendar1) >>>

Option Explicit

Private Sub Calendar1_Click()
ActiveControl = Calendar1.Value
UserForm1.ActiveControl.SetFocus
Me.Hide
End Sub



Private Sub UserForm_Activate()
Calendar1.Value = Now
End Sub



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
ActiveControl = Sheets("Rechnungen").Range("HH1").Value
'MsgBox "So nicht!"
Cancel = True
Me.Hide
Unload Me
End If
End Sub


<<< Code in die UserForm1 >>>


Private Sub TextBox22_Enter()
UserForm2.Show 'Name des userform mit dem Calendar1
UserForm1.TextBox22.Value = UserForm2.Calendar1.Value
End Sub


Gruß Andreas


 Bild

Beiträge aus den Excel-Beispielen zum Thema "TextBox in UserForm (Wert löschen)"