Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1300to1304
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

Textbox automatisch füllen

Textbox automatisch füllen
27.02.2013 08:44:20
Martin
Guten Morgen zusammen,
ich habe mal wieder ein kleines Problem:
In einem Tabellenblatt existieren 2 Spalten und - in einem im selben Tabellenblatt liegendem - UserForm 2 TextBoxes.
Die Spalten sind wie folgt aufgebaut:
A B
1 1
1 2
1 3
2 1
2 2
2 3
2 4
2 5
2 6
3 1
3 2
3 3
3 4
4 1
4 2
.......
Das UserForm ist zum Erstellen einer neuen Zeile in dieser Liste. Der Anwender gibt also bislang in TB1 und TB2 Werte an und beim Bestätigen des OK-Buttons wird eine neue Zeile mit ebendiesen Werten erstellt. Dies funktioniert auch Prima (Danke nochmal an Klaus M.vdT an dieser Stelle). Jetzt ist das ganze System in meinen Augen bedienerunfreundlich und fehleranfällig. Es ist also möglich, dass der Anwender redundante Zeilen (in dem Beispiel z.B. A=3; B=4) erstellt.
Dies möchte ich gerne umgehen. Bei einer Eingabe eines Wertes aus Spalte A in TB1 sollte also wenn möglich der nächst größere, zugehörige Wert aus Spalte B in TB2 geschrieben werden. Zum Beispiel: Eingabe A=2 in TB1; .. B=7 in TB2; bzw A=4 für TB1 ; .. B=3 für TB2.
Die Lösung ist denke ich trivial einfach, dennoch sind meine VBA Kenntnisse leider nicht ausreichend um eine elegante Lösung zu finden.
Liebe Grüße
Martin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Automatik mit nur einer Textbox ...
27.02.2013 09:29:07
Matthias
Hallo Martin
Hier mal ne Komfort-Variante mit nur einer Textbox
Dort wird nur der Wert für Spalte(A) eingetragen.
Über eine MatrixFormel in E2 wird der zugehörige Max-Wert
aus Spalte(B) ermittelt und um Eins erhöht
https://www.herber.de/bbs/user/84066.xls
Gruß Matthias

AW: Automatik mit nur einer Textbox ...
27.02.2013 09:40:55
Martin
Hey Matthias,
tut genau was es soll ! Das Problem ist nur, ich habe in der Datei keinen "Platz" für die Matrix D1:E2.
Des weiteren wird die TB2 schon benötigt, da darüber noch andere Makros aktiviert werden. Ist es denn möglich der TextBox2 genau das zu sagen was du über die Matrix bewerkstelligst?
Liebe Grüße,
Martin

Anzeige
neuer Code ...
27.02.2013 10:12:10
Matthias
Hallo
Private Sub CommandButton1_Click()
Dim Loletzte&, j&, MyMaxB&
Loletzte = Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To Loletzte
If Cells(j, 1) = CLng(TextBox1) Then
If MyMaxB 
Gruß Matthias

hier noch mit TB2
27.02.2013 10:20:48
Matthias
Hallo
Mit Textbox2 hatte ich ünberlesen, sorry.
Private Sub CommandButton1_Click()
Dim Loletzte&, j&, MyMaxB&
Loletzte = Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To Loletzte
If Cells(j, 1) = CLng(TextBox1) Then
If MyMaxB 
Gruß Matthias

AW: hier noch mit TB2
27.02.2013 11:10:39
Martin
Hey,
bekomme ein Fehler beim Komplimieren für Zeile
If MsgBox("Werte jetzt in die Liste eintragen" & vbLf & vbLf & "A = " & TextBox1 & vbLf & "B = _
" & MyMaxB + 1, vbYesNo) = vbYes Then

Wenn ich das richtig verstehe wird der Wert in TB2 erst eingetragen wenn ich den ok-Button erniedrige richtig?
Mir wäre es wichtig, dass dies vorher geschieht.
Also bei Eingabe eines Wertes in TB1 (sagen wir "1") erscheint in TB2 unmittelbar der nächst größere Wert für Spalte B.
Sonst müsste ich die Makros die danach folgen wieder umschreiben.
Liebe Grüße
Martin

Anzeige
AW: hier noch mit TB2
27.02.2013 11:24:02
Matthias
Hallo
Der Code muss in eine Zeile
Der Unterstrich wird von der Forensoftware erzeugt, wenn der Text zu lang ist.
Hier mal eine geänderte Version:
https://www.herber.de/bbs/user/84071.xls
Hab jetzt leider keine Zeit mehr
Gruß Matthias

AW: hier noch mit TB2
27.02.2013 11:48:29
Martin
Gut, vielen Dank!
Funktioniert auch soweit ganz gut. Vll kann sich folgendem Problem dabei jmd anders annehmen:
Wenn ich in Matthias' UserForm in TB1 eine 1 eingebe erscheint in TB2 eine 4, soweit sogut. Änder ich die 1 aus TB2 in eine 2, so wird TB2 auch mit dem Wert 7 gefüllt. Fahre ich in TB1 nun mit 3 fort ändert sich der Wert TB2 jedoch nicht mehr.
Jemand ne Idee woran das liegt?
Liebe Grüße
Martin

Anzeige
AW: hier die Änderung ...
28.02.2013 08:00:20
Martin
Guten Morgen Matthias,
Danke für deine Hilfe !
Grüße Martin

hier noch eine kleine Änderung ...
28.02.2013 09:35:11
Matthias
Hallo Martin
Hier noch ne Variante in der das Ok-Button gesperrt bleibt, bis eine Zahl in TB1 steht.
Bei der Abfrage ob in die Liste eingetragen werden soll, wird der Nein-Button als Default gestellt.
Dannach wird die Liste gleich nach Spalte(A) und Spalte(B) sortiert.
https://www.herber.de/bbs/user/84092.xls
Gruß Matthias

Anzeige
AW: hier noch eine kleine Änderung ...
28.02.2013 10:45:03
Martin
Hey Matthias,
nochmals Vielen Dank ! Das Projekt wird immer besser!
Liebe Grüße
Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige