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

textbox

textbox
02.10.2006 19:50:22
frank
Hallo
ich habe eine VBA Anweisung von Klaus Dieter Oppermann im Netzt gefunden und meinen Bedürfnissen etwas angepasst.
Vielleicht kann mir jemand beim ändern helfen.
Das Makro schreibt Werte aus Textboxen immer in die erste gefundene leere Zeile.
Da in Spalte A eine laufende Nummer vergeben wird möchte ich gern, dass beim Aufruf der UF in meiner Textbox1 die gefundenen Zahl der letzten Zeile in Spalte A +1 automatisch eingetragen wird.
Option Explicit

Private Sub commandButton1_Click()
Dim zelle As Object
Dim ersteAdresse As String
Dim we As String
Dim zi As Integer
we = TextBox1.Text
With Worksheets(1).Range("a1:a50")
Set zelle = .Find(we, LookIn:=xlValues)
If Not zelle Is Nothing Then
ersteAdresse = zelle.Address
zi = zelle.Row
Rows(zi + 1).Insert Shift:=xlDown
Cells(zi + 1, 2) = TextBox2.Text
Cells(zi + 1, 3) = TextBox3.Text
Cells(zi + 1, 4) = TextBox4.Text
Cells(zi + 1, 5) = TextBox5.Text
Cells(zi + 1, 6) = TextBox6.Text
Cells(zi + 1, 7) = TextBox7.Text
Cells(zi + 1, 8) = TextBox8.Text
Cells(zi + 1, 9) = TextBox9.Text
Cells(zi + 1, 10) = TextBox10.Text
Cells(zi + 1, 11) = TextBox11.Text
End If
End With
If zi > 1 Then Exit Sub
Cells(Range("A65536").End(xlUp).Row + 1, 1) = TextBox1.Text
Cells(Range("A65536").End(xlUp).Row, 2) = TextBox2.Text
Cells(Range("A65536").End(xlUp).Row, 3) = TextBox3.Text
Cells(Range("A65536").End(xlUp).Row, 4) = TextBox4.Text
Cells(Range("A65536").End(xlUp).Row, 5) = TextBox5.Text
Cells(Range("A65536").End(xlUp).Row, 6) = TextBox6.Text
Cells(Range("A65536").End(xlUp).Row, 7) = TextBox7.Text
Cells(Range("A65536").End(xlUp).Row, 8) = TextBox8.Text
Cells(Range("A65536").End(xlUp).Row, 9) = TextBox9.Text
Cells(Range("A65536").End(xlUp).Row, 10) = TextBox10.Text
Cells(Range("A65536").End(xlUp).Row, 11) = TextBox11.Text
UserForm1.TextBox1 = ""
UserForm1.TextBox2 = ""
UserForm1.TextBox3 = ""
UserForm1.TextBox4 = ""
UserForm1.TextBox5 = ""
UserForm1.TextBox6 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.TextBox9 = ""
UserForm1.TextBox10 = ""
UserForm1.TextBox11 = ""
End Sub


Private Sub commandButton2_Click()
UserForm1.Hide
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: textbox
03.10.2006 09:47:25
Beni
Hallo Frank,
Gruss Beni
With Worksheets(1)
lz = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile
UserForm1.TextBox1 = WorksheetFunction.Max(.Cells(1, 1), .Cells(lz, 1)) + 1
End With
AW: textbox
03.10.2006 18:56:25
Frank
Hallo Beni,
Funktioniert bestens - möchte aber nicht unverschämt klingen wenn ich noch eine Frage hinterher stelle.
Wie kann ich es anstellen, dass mir der Wert schon beim Aufruf der UF in Textbox1 geschrieben wird?
Gruß Frank
AW: textbox
03.10.2006 20:05:43
frank
Habe gerade mitbekommen, dass nur beim ersten Aufruf in Textbox1 der Wert eingetragen werden muß. Ab dann bleibt er erhalten.
Danke Beni für den Tip
Gruß Frank
Anzeige
AW: textbox
03.10.2006 21:52:30
Beni
Hallo Frank,
wieso fügst Du unterhalb des gefundenen Wert eine neue Zeile ein.
Gruss Beni
Option Explicit

Private Sub commandButton1_Click()
Dim zelle As Object
Dim ersteAdresse As String
Dim we As String
Dim zi As Integer
we = TextBox1.Text
With Worksheets(1).Range("a1:a50")
Set zelle = .Find(we, LookIn:=xlValues)
If Not zelle Is Nothing Then
ersteAdresse = zelle.Address
zi = zelle.Row
Cells(zi, 2) = TextBox2.Text
Cells(zi, 3) = TextBox3.Text
Cells(zi, 4) = TextBox4.Text
Cells(zi, 5) = TextBox5.Text
Cells(zi, 6) = TextBox6.Text
Cells(zi, 7) = TextBox7.Text
Cells(zi, 8) = TextBox8.Text
Cells(zi, 9) = TextBox9.Text
Cells(zi, 10) = TextBox10.Text
Cells(zi, 11) = TextBox11.Text
End If
End With
If zi > 1 Then Exit Sub
Cells(Range("A65536").End(xlUp).Row + 1, 1) = TextBox1.Text
Cells(Range("A65536").End(xlUp).Row, 2) = TextBox2.Text
Cells(Range("A65536").End(xlUp).Row, 3) = TextBox3.Text
Cells(Range("A65536").End(xlUp).Row, 4) = TextBox4.Text
Cells(Range("A65536").End(xlUp).Row, 5) = TextBox5.Text
Cells(Range("A65536").End(xlUp).Row, 6) = TextBox6.Text
Cells(Range("A65536").End(xlUp).Row, 7) = TextBox7.Text
Cells(Range("A65536").End(xlUp).Row, 8) = TextBox8.Text
Cells(Range("A65536").End(xlUp).Row, 9) = TextBox9.Text
Cells(Range("A65536").End(xlUp).Row, 10) = TextBox10.Text
Cells(Range("A65536").End(xlUp).Row, 11) = TextBox11.Text
Dim lz As Integer
With Worksheets(1)
lz = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile
UserForm1.TextBox1 = WorksheetFunction.Max(.Cells(1, 1), .Cells(lz, 1)) + 1
End With
UserForm1.TextBox2 = ""
UserForm1.TextBox3 = ""
UserForm1.TextBox4 = ""
UserForm1.TextBox5 = ""
UserForm1.TextBox6 = ""
UserForm1.TextBox7 = ""
UserForm1.TextBox8 = ""
UserForm1.TextBox9 = ""
UserForm1.TextBox10 = ""
UserForm1.TextBox11 = ""
End Sub


Private Sub UserForm_Initialize()
Dim lz As Integer
With Worksheets(1)
lz = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile
UserForm1.TextBox1 = WorksheetFunction.Max(.Cells(1, 1), .Cells(lz, 1)) + 1
End With
End Sub

Anzeige
AW: textbox
04.10.2006 18:47:48
frank
Hallo Benni,
das Makro wurde ursprünglich dazu benutzt um auch Einträge welche schon erstellt waren zu suchen und werte nicht zu überschreiten sondern hinzuzufügen.
Konnte damit leben solange in der ersten Textbox nicht vergessen wird die laufende Nummer einzutragen. Bei einem Leerfeld wurde die zeile vor der 1 eingetragen. Deswegen auch mein Hilferuf.
Ich habe bei meiner UF noch zwei Probleme zu klären.
Ich fange mal mit dem 1.an.
Ich fülle meine Textboxen mit Werten und plaziere sie durch den CommandButton1 in die dafür vorgesehenen Zellen. Wird alles prima angezeigt.
Ein zweites makro fragt nun diese Zellen ab und entscheidet über eine IF Schleife ob die Werte der Abfrage entsprechen. In Textbox11 gebe ich ein Datum ein z.B. 04.10.2006 dies wird in Zelle richtig ausgegeben aber das makro erkennt die Zeichen nicht. Erst wenn ich in die Zelle mit dem Datum Doppelklicke wird es von der IF - Then Abfrage erkannt.
Hoffe mich verständlich ausgedrückt zu haben.
Gruß Frank
Anzeige
AW: textbox
04.10.2006 20:03:39
Beni
Hallo Frank,
ich verstehe Deine Frage nicht ganz, möglicherweise ist es die Datumserkennung in der TextBox,
Das Problem mit der TextBox und Datum ist, das Datum wird nicht als Datum erkannt, wie der Name "TextBox" schon sagt "Text", mit CDate erzwinge ich ein Datum,
z.B. Cells(Range("A65536").End(xlUp).Row, 11) = CDate(TextBox11)
Gruss Beni
AW: textbox
04.10.2006 20:36:31
frank
hallo Benni,
Super - das war die erste Problemlösung. Hatte die Zellen als Datum formatiert - da mir das schon irgendwie komisch vorkam.
2.Problemchen (Schönheitskorrektur) Habe in der UF mir jetzt eine Combobox eingebaut - mit der additem methode sie gefüllt.
Drinn stehen e-mail Adressen (z.B. Max.Musterfrau@arcor.de ... etc)
Habe jetzt folgendes Probiert - in der Box sehe ich nur Max.Musterfrau und die betreffende Spalte wo all die adressen eingetragen werden benutzerdefiniert formatiert mit @"@arcor.de". So weit so gut. "WYSIWYG" ich sehe zwar jetzt die Zeichenfolge Max.Musterfrau@arcor.de das System erkennt es aber nicht als e-mailadresse da in der Benutzerzeile ebenfalls nur Max.Musterfrau steht.
oder noch anders gefragt - kann ich nicht der Box statts additem ein Zellenbereich der Box zuweisen - z.B. Z1 bis Z100 den könnte ich dann auch noch sortieren - sieht noch besser aus.
Gruß Frank
PS: mit dem Datum oben bin ich schon richtig happy!!!!
Anzeige
AW: textbox
04.10.2006 21:16:49
Beni
Hallo Frank
Gruss Beni

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Z1:Z100"
End Sub

AW: textbox
04.10.2006 21:48:06
frank
Hallo Benni,
der Abend wird immer besser. Werde es für heute bei dem Super Ergebniss belassen.
Danke, danke.
Möglich, dass ich mich nochmal melde wegen den üblichen Feinheiten.
Gruß Frank

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige