Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhalt aus Textboxen zuordnen
12.02.2008 15:16:00
Sven
Hallo und Guten Tag,
ich bin ein absoluter Neuling in Sachen VBA.
Seit Tagen such ich in diesem Forum nach Hilfestellungen - habe auch viel gefunden.
Jetzt sitze ich aber an einer Stelle die ich nicht lösen kann - bestimmt ist diese Problem hier im Forum schon gelöst worden jedoch nicht exact und abändern bringt mir nur Fehlermeldungen.
Ausserdem würde ich gerne verstehen was ich anwende um nicht gleich nochmal fragen zu müssen :)
Zum Problem:
Ich habe eine UserForm erstellt welche mehrere Textboxen sowie eine ComboBox und OptionButtons enthält. Die ComboBox konnte ich dank des Forums auch gut erstellen und die gewünschten Daten tauchen auf. Die Textfelder können geleert werden und geben eine MsgBox aus wenn Fehlerhafte Einträge eingefügt werden.
1. Mein größtes Problem an dieser Stelle ist - ich möchte das die Daten - welche ich in die verschiedenen Textboxen (4 insgesamt) eingebe per commandbutton in meine Excel tabelle übertragen werden.
Es muss aber geprüft werden ob ein Eintrag vorhanden ist - ist dem so dann muss die Zelle darunter beschrieben werden. Zusätzliche Frage: Ist es möglich die Daten an 2 Unterschiedliche Stellen schreiben zu lassen (auf unterschiedlichen Tabellenblättern) ?
Leider schaffe ich es nicht diese Abfolge zu erstellen.
2. Ich habe 3 OptionButtons
a. USD b. Euro und c. ohne - ich möchte das beim benutzen des Commandbuttons der Wert auch an eine bestimmte Stelle in der Tabelle eingefügt wird. D.h. wenn Euro aktiviert wurde soll Euro in die Tabelle übernommen werden.
Das sind erstmal die (meine) größten Probleme.
Da ich, wie gesagt, keine Ahnung von VBA habe kann ich mir auch nicht wirklich was zusammen reimen.
Hier mal der Code von meinem Projekt - geht bestimmt auch schöner ;)

Private Sub CommandButton1_Click()
TextBox1.SetFocus
If TextBox1 = "" Then
MsgBox ("Bitte Part Nummer eingeben!")
Else
If TextBox2 = "" Then
MsgBox ("Bitte Zielpreis eingeben oder kein target anklicken!")
Else
If TextBox3 = "" Then
MsgBox ("Bitte Stückzahl eingeben")
Else
If TextBox4 = "" Then
MsgBox ("Bitte Liefertermin eintragen")
End If
End If
End If
End If
End Sub



Private Sub CommandButton2_Click()
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
End Sub



Private Sub CommandButton3_Click()
UserForm2.Hide
UserForm1.Show
End Sub



Private Sub OptionButton1_Click()
If TextBox2 = "kein target" Then
TextBox2 = ""
Else
End If
End Sub



Private Sub OptionButton2_Click()
If TextBox2 = "kein target" Then
TextBox2 = ""
Else
End If
End Sub



Private Sub OptionButton3_Click()
If TextBox2 = "" Then
TextBox2 = "kein target"
Else: MsgBox ("Durch anklicken wird das eingegebene target entfernt!")
TextBox2 = "kein target"
End If
End Sub



Private Sub SpinButton1_Change()
TextBox5.Value = Format(SpinButton1.Value, "dd.mm.yyyy")
End Sub



Private Sub TextBox2_Change()
End Sub



Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim datum As Date
On Error Resume Next
If Not TextBox5.Value Like "*.*.?*" Then
MsgBox "Eingabe stellt kein Datum der Form 01.01.1999 dar"
TextBox5.Value = Format(SpinButton1.Value, "dd.mm.yyyy")
Exit Sub
End If
datum = CDate(TextBox5.Value)
If Err  0 Then
MsgBox "Falsche Datumsangabe: " & _
TextBox5.Value & " existiert nicht !!"
TextBox5.Value = Format(SpinButton1.Value, "dd.mm.yyyy")
Exit Sub
End If
SpinButton1.Value = CLng(datum)
TextBox5.Value = Format(TextBox5.Value, "mm.dd.yyyy")
End Sub



Private Sub UserForm_Initialize()
UserForm2.SpinButton1.Max = 401768
UserForm2.TextBox5.Value = Format(Now, "dd.mm.yyyy")
UserForm2.SpinButton1.Value = CLng(CDate(UserForm2.TextBox5.Value))
End Sub



Private Sub TextBox1_Change()
End Sub



Private Sub UserForm_Click()
End Sub


Ich hoffe es kann mir jemand helfen ... und ich hoffe ich verstehe dann auch ;)
Danke vorab
Gruß
Sven

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt aus Textboxen zuordnen
12.02.2008 16:59:00
Holger
zur Frage 1:
Den Zellen weist du wie folgt die Werte zu (hier am Beispiel TextBox1)
Cells(Zeile,Spalte).Value=TextBox1.Text
Zeile und Spalte beginnen ab 1 zu zählen, z.B. entspricht Cells(2,4) der Zelle D2. (.Value und.Text kannst du auch weglassen, weil dieses die Standardeigenschaften von Cells bzw. TextBox sind (s. VBA-Hilfe).
Eine Zuweisung zu mehreren Zellen ist möglich, setze einfach die gewünschten Zahlen oder Variablen ein. Auf einem anderen Tabellenblatt setzt du einen Verweis darauf vor:
Worksheet("Tabellenblattname wie auf dem Reiter").Cells(Zeile,Spalte)
Eine Prüfung auf Inahlt hast du ja bereits gemacht. Füge
Cells(Zeile,Spalte).Value=TextBox1.Text usw.
hinter deine End If in Private Sub CommandButton1_Click() ein.
zu Frage 2:
In der Private Sub CommandButton1_Click() kannst du auch abfragen, welcher OptionButton gesetzt wurde, z.B.
If OptionButton1=True Then
Deine Anweisungen
End If
Ich hoffe, dass ich dir damit weitergeholfen habe.
Holger

Anzeige
AW: Inhalt aus Textboxen zuordnen
13.02.2008 11:34:00
Sven
Hallo Holger,
vielen Dank.
So langsam komme ich hinter das geschehen.

Private Sub CommandButton1_Click()
TextBox1.SetFocus
If TextBox1 = "" Then
MsgBox ("Bitte Part Nummer eingeben!")
Else
If TextBox2 = "" Then
MsgBox ("Bitte Zielpreis eingeben oder kein target anklicken!")
Else
If TextBox3 = "" Then
MsgBox ("Bitte Stückzahl eingeben")
Else
If TextBox4 = "" Then
MsgBox ("Bitte Liefertermin eintragen")
End If
End If
End If
End If
If Worksheets("Übersicht").Cells(16, 3) = "" Then
Worksheets("Übersicht").Cells(16, 3) = TextBox1.Text
End If
If Worksheets("Übersicht").Cells(16, 7) = "" Then
Worksheets("Übersicht").Cells(16, 7) = TextBox2.Text
End If
If Worksheets("Übersicht").Cells(16, 5) = "" Then
Worksheets("Übersicht").Cells(16, 5) = TextBox3.Text
End If
If Worksheets("Übersicht").Cells(16, 9) = "" Then
Worksheets("Übersicht").Cells(16, 9) = TextBox4.Text
End If
If OptionButton1 = True Then
Worksheets("Übersicht").Cells(16, 8) = "USD"
Else
If OptionButton2 = True Then
Worksheets("Übersicht").Cells(16, 8) = "EUR"
Else
If OptionButton3 = treu Then
Worksheets("Übersicht").Cells(16, 8) = TextBox2.Text
End If
End If
End If
End Sub


... so siehts jetzt aus :)
Jetzt habe ich aber das Problem das ich ja bekanntlich nur in eine Zelle schreibe - ist diese aber belegt muss/soll die Zeile darunter beschrieben werden.
Ich habe mir auch einiges aus dem Netz besorgt - jedoch verstehe ich diese Routine auch noch nicht.
Vielleicht kannst du mir auch da noch einen Denkanstoss geben !?
Eigentlich muss ich ja eine Variable definieren welche der letzen gefüllten Zelle +1 entspricht ... oder so ähnlich.
Danke vorab - und nochmals Danke für die nette Erklärung - es war sehr verständlich auch für einen VBA Noob wie mich.

Anzeige
AW: Inhalt aus Textboxen zuordnen
13.02.2008 17:40:52
Sven
test

AW: Inhalt aus Textboxen zuordnen
14.02.2008 16:25:00
Sven
Hallo zusammen,
kann mir denn keiner helfen :(
Schade auch
Dank euch trotzdem - aus dem Forum kann man viel lernen.
Macht weiter so

AW: Inhalt aus Textboxen zuordnen
14.02.2008 17:14:34
Sven
Hallo zusammen,
ich habs gelöst :

Private Sub CommandButton1_Click()
TextBox1.SetFocus
If TextBox1 = "" Then
MsgBox ("Bitte Part Nummer eingeben!")
Else
If TextBox2 = "" Then
MsgBox ("Bitte Zielpreis eingeben oder kein target anklicken!")
Else
If TextBox3 = "" Then
MsgBox ("Bitte Stückzahl eingeben")
Else
If TextBox4 = "" Then
MsgBox ("Bitte Liefertermin eintragen")
End If
End If
End If
End If
Dim LoletzteC As Long
Dim LoletzteA As Long
Dim LoletzteG As Long
Dim LoletzteE As Long
Dim loletzteI As Long
Dim loletzteH As Long
LoletzteC = Worksheets("Übersicht").Cells(Rows.Count, 3).End(xlUp).Row + 1
Cells(LoletzteC, 3).Value = TextBox1.Text
LoletzteA = Worksheets("Übersicht").Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(LoletzteA, 1).Value = ComboBox1.Text
LoletzteG = Worksheets("Übersicht").Cells(Rows.Count, 7).End(xlUp).Row + 1
Cells(LoletzteG, 7).Value = TextBox2.Text
LoletzteE = Worksheets("Übersicht").Cells(Rows.Count, 5).End(xlUp).Row + 1
Cells(LoletzteE, 5).Value = TextBox3.Text
loletzteI = Worksheets("Übersicht").Cells(Rows.Count, 9).End(xlUp).Row + 1
Cells(loletzteI, 9).Value = TextBox4.Text
If OptionButton1 = True Then
loletzteH = Worksheets("Übersicht").Cells(Rows.Count, 8).End(xlUp).Row + 1
Cells(loletzteH, 8).Value = "USD"
Else
If OptionButton2 = True Then
loletzteH = Worksheets("Übersicht").Cells(Rows.Count, 8).End(xlUp).Row + 1
Cells(loletzteH, 8).Value = "EUR"
Else
If OptionButton3 = True Then
loletzteH = Worksheets("Übersicht").Cells(Rows.Count, 8).End(xlUp).Row + 1
Cells(loletzteH, 8).Value = TextBox2.Text
End If
End If
End If
End Sub


jetzt ermittelt das Makro die letzte leer zeile und beschreibt diese :)
Nochmal dank an Holger !
Ich bastel weiter dran rum und wenn ich Hilfe brauche eröffne ich einen neuen Thread :)
danke

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige