Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

Wieder Problem mit Eingabemaske

Wieder Problem mit Eingabemaske
28.03.2014 09:39:39
Dauergast
Hallo,
zunächst wollte ich mal bedanken für alle Antworten, die auf meine Posts gekommen sind! Wirklich ein tolles Forum! Jetzt habe ich aber leider mal wieder ein Problem mit meiner Eingabemaske und zwar Folgendes: Gebe ich einen neuen Eintrag ein, wird dieser auch in das Datenblatt übernommen. Gebe ich jetzt allerdings einen zweiten Eintrag mit dem gleichen Namen ein aber sonstigen anderen Daten (Zeile 3) wird dieser in der Eingabemaske mit den Daten des ersten Eintrags (also Zeile 2) angezeigt. Hier ist die Mappe dazu: https://www.herber.de/bbs/user/89903.xlsm
Wie kann ich der jeweiligen Zeile die richtigen Daten zuordnen?

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

Betreff
Datum
Anwender
Anzeige
AW: Wieder Problem mit Eingabemaske
28.03.2014 10:19:17
Rudi
Hallo,
Code komplett überarbeitet:
Option Explicit
Option Compare Text
Private Sub CommandButton1_Click()
Dim lZeile As Long
lZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1
Tabelle1.Cells(lZeile, 1) = CStr("Neuer Eintrag Zeile " & lZeile)
UserForm_Initialize
ListBox1.ListIndex = ListBox1.ListCount - 1
End Sub
Private Sub CommandButton2_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
Tabelle1.Rows(ListBox1.Column(1)).Delete
UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End Sub
Private Sub CommandButton3_Click()
Dim lZeile As Long, lIndex As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lIndex = ListBox1.ListIndex
If Trim(TextBox1.Text) = "" Then
Exit Sub
End If
lZeile = ListBox1.Column(1)
With Tabelle1
.Cells(lZeile, 1).Value = Trim(TextBox1.Text)
.Cells(lZeile, 37).Value = TextBox2.Text
.Cells(lZeile, 38).Value = TextBox3.Text
.Cells(lZeile, 39).Value = TextBox4.Text
.Cells(lZeile, 40).Value = TextBox5.Text
.Cells(lZeile, 41).Value = TextBox6.Text
.Cells(lZeile, 42).Value = TextBox7.Text
End With
UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = lIndex
End Sub
Private Sub CommandButton4_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
Dim lZeile As Long
TextBox1 = ""
TextBox2 = Format(Date, "DD.MM.YYYY")
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
If ListBox1.ListIndex > -1 Then
lZeile = ListBox1.Column(1)
With Tabelle1
TextBox1 = Trim(.Cells(lZeile, 1).Value)
TextBox3 = .Cells(lZeile, 38).Value
TextBox4 = .Cells(lZeile, 39).Value
TextBox5 = .Cells(lZeile, 40).Value
TextBox6 = .Cells(lZeile, 41).Value
TextBox7 = .Cells(lZeile, 42).Value
End With
End If
End Sub
Private Sub UserForm_Initialize()
Dim lZeile As Long, arrList
TextBox1 = ""
TextBox2 = Format(Date, "DD.MM.YYYY")
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
With Tabelle1
arrList = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Resize(, 2)
End With
For lZeile = 1 To UBound(arrList)
arrList(lZeile, 2) = lZeile + 1
Next
ListBox1.List = arrList
End Sub

Gruß
Rudi

Anzeige
AW: Wieder Problem mit Eingabemaske
28.03.2014 10:52:58
Dauergast
Hallo Uwe und Rudi Maintaire,
danke für eure Hilfe!! Damit bin ich wirklich weitergekommen...Eine Frage hätte ich noch: Wenn ich den Button Neuen Eintrag bestätige erscheint im Namensfeld immer "Neuer Eintrag Zeile..."...Kann man dies irgendwie ändern, sodass hier nichts steht? Nochmal danke für eure Hilfe und dass ihr euch Zeit genommen habt!

AW: Wieder Problem mit Eingabemaske
28.03.2014 11:24:35
Rudi
Hallo,
Option Explicit
Option Compare Text
Private Sub CommandButton1_Click()
'neuer Eintrag
ClearFields
ListBox1.ListIndex = -1
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
'Eintrag löschen
Dim lIndex As Long
If ListBox1.ListIndex = -1 Then Exit Sub
lIndex = ListBox1.ListIndex
Tabelle1.Rows(ListBox1.Column(1)).Delete
UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = _
WorksheetFunction.Min(lIndex, ListBox1.ListCount - 1)
End Sub
Private Sub CommandButton3_Click()
'Eintrag speichern
Dim lZeile As Long, lIndex As Long
If ListBox1.ListIndex = -1 Then
lZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
lZeile = ListBox1.Column(1)
End If
lIndex = ListBox1.ListIndex
If Trim(TextBox1.Text) = "" Then
Exit Sub
Else
With Tabelle1
.Cells(lZeile, 1).Value = Trim(TextBox1.Text)
.Cells(lZeile, 37).Value = TextBox2.Text
.Cells(lZeile, 38).Value = TextBox3.Text
.Cells(lZeile, 39).Value = TextBox4.Text
.Cells(lZeile, 40).Value = TextBox5.Text
.Cells(lZeile, 41).Value = TextBox6.Text
.Cells(lZeile, 42).Value = TextBox7.Text
End With
End If
UserForm_Initialize
If lIndex = -1 Then
ListBox1.ListIndex = ListBox1.ListCount - 1
Else
ListBox1.ListIndex = lIndex
End If
End Sub
Private Sub CommandButton4_Click()
'Beenden
Unload Me
End Sub
Private Sub ListBox1_Click()
Dim lZeile As Long
ClearFields
If ListBox1.ListIndex > -1 Then
lZeile = ListBox1.Column(1)
With Tabelle1
TextBox1 = Trim(.Cells(lZeile, 1).Value)
TextBox3 = .Cells(lZeile, 38).Value
TextBox4 = .Cells(lZeile, 39).Value
TextBox5 = .Cells(lZeile, 40).Value
TextBox6 = .Cells(lZeile, 41).Value
TextBox7 = .Cells(lZeile, 42).Value
End With
End If
End Sub
Private Sub UserForm_Initialize()
Dim lZeile As Long, arrList
ClearFields
With Tabelle1
arrList = .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Resize(, 2)
End With
For lZeile = 1 To UBound(arrList)
arrList(lZeile, 2) = lZeile + 1
Next
ListBox1.List = arrList
End Sub
Private Sub ClearFields()
TextBox1 = ""
TextBox2 = Format(Date, "DD.MM.YYYY")
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
End Sub

Gruß
Rudi

Anzeige
AW: Wieder Problem mit Eingabemaske
28.03.2014 14:03:04
Dauergast
Hallo Rudi,
danke für deine Hilfe!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige