Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
564to568
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
564to568
564to568
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

TextBox in UserForm (Wert löschen)

TextBox in UserForm (Wert löschen)
13.02.2005 09:53:50
Andreas.R
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

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 10:42:41
Ramses
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 10:55:55
Andreas.R
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
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 11:15:16
Ramses
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 11:30:13
Andreas.R
Hallo Rainer
werd ich mal ausprobieren
wenn nicht melde ich mich noch einmal
Danke trotzdem
Gruß Andreas
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 11:56:26
Andreas.R
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 11:59:28
Ramses
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
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 13:30:26
Andreas.R
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 14:28:33
Ramses
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
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 15:00:50
Andreas.R
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 15:18:05
Ramses
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
Anzeige
AW: TextBox in UserForm (Wert löschen)
13.02.2005 17:02:41
Andreas.R
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
AW: TextBox in UserForm (Wert löschen)
13.02.2005 17:31:01
Ramses
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
Anzeige
habe die Lösung gefunden
15.02.2005 10:52:22
Andreas.R
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
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige