Anzeige
Archiv - Navigation
1452to1456
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

ListBox Makierung aufheben

ListBox Makierung aufheben
27.10.2015 14:34:56
Moore
Hallo Zusammen,
ich hoffe ihr könnt mir helfen. Ich habe eine Tabelle, die durch TextBoxen gefüllt wird. Nun ist es so, dass auf einem anderen Userform mittels einem TextBox (Suchkriterium) die passende Zeile/n in einer ListBox1 angezeigt werden. Durch klicken, werden die Textboxen gefüllt und in einer TextBox (ungefüllt) das Datum ergänzt wird und durch ein CommandButton die Zeile geändert und zurückgeben wird. Das klappt alles soweit.
Mein Problem ist, dass ich:
1. Nur eine Markierung im ListBox anklicken kann. Klicke eine andere Markierung an,
bringt er mir eine Fehlermeldung.
2. Zeigt er mir zuviele Ergebnisse an. Ich möchte nur, dass die Zeilen angezeigt
werden, welche dem Suchkriterum (Zahl) entspricht und nur die Zeile angezeigt
wird, in der eine bestimmte Zelle noch nicht befüllt ist.
Hier mal meine Codes:
Private Sub CommandButton3_Click()
Dim Found As Range
Dim FirstAddress As String
Dim Search As String
Dim Zeile As Long
Zeile = 0
Search = TextBox2
If Search = "" Then Exit Sub
Me.ListBox1.ColumnCount = 9
Me.ListBox1.ColumnWidths = "0;170;70;0;263;0;150;0;0"
With Sheets("Tabelle1").Range("A6:A65536")
Set Found = .Find(Search, LookIn:=xlValues, LookAt:=xlWhole)
TextBox2.Tag = ""
TextBox15 = ""
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
TextBox2.Tag = TextBox2.Tag & ";" & Found.Row
Me.ListBox1.AddItem
Me.ListBox1.List(Zeile, 1) = Found.Offset(0, 1)
Me.ListBox1.List(Zeile, 2) = Found.Offset(0, 2)
Me.ListBox1.List(Zeile, 3) = Found.Offset(0, 3)
Me.ListBox1.List(Zeile, 4) = Found.Offset(0, 4)
Me.ListBox1.List(Zeile, 5) = Found.Offset(0, 5)
Me.ListBox1.List(Zeile, 6) = Found.Offset(0, 6)
Me.ListBox1.List(Zeile, 7) = Found.Offset(0, 7)
Me.ListBox1.List(Zeile, 8) = Found.Offset(0, 8)
Me.ListBox1.List(Zeile, 9) = Found.Offset(0, 9)
Set Found = .FindNext(Found)
Zeile = Zeile + 1                               '
Loop While Not Found Is Nothing And Found.Address  FirstAddress
If Zeile = 1 Then
End If
Else
TextBox15.Text = "Keine fortlaufende Nummer gefunden"
ListBox1.Clear
End If
End With
TextBox2.Tag = Mid(TextBox2.Tag, 2)

Private Sub ListBox1_Click()
Dim selected As Integer
selected = Me.ListBox1.ListIndex
Me.TextBox1 = Me.ListBox1.List(selected, 1)
Me.TextBox3 = Me.ListBox1.List(selected, 2)
Me.TextBox4 = Me.ListBox1.List(selected, 4)
Me.TextBox5 = Me.ListBox1.List(selected, 6)
Me.TextBox6 = Me.ListBox1.List(selected, 7)
Me.TextBox7 = Me.ListBox1.List(selected, 8)
TextBox2.Tag = Split(TextBox2.Tag, ";")(selected)
End Sub
--------------------------------------------------------------------
Sheets("Tabelle1").Visible = True
Sheets("Tabelle1").Select
ActiveSheet.Unprotect
Dim manipulierte_Zeile As Integer
If TextBox2.Tag = "" Then Exit Sub
manipulierte_Zeile = CLng(TextBox2.Tag)
Sheets("Tabelle1").Cells(manipulierte_Zeile, 2) = Format(TextBox1, "DD.MM.YYYY")
Sheets("Tabelle1").Cells(manipulierte_Zeile, 3) = Format(TextBox3.Text)
Sheets("Tabelle1").Cells(manipulierte_Zeile, 5) = Format(TextBox4.Text)
Sheets("Tabelle1").Cells(manipulierte_Zeile, 7) = Format(TextBox5.Text)
Sheets("Tabelle1").Cells(manipulierte_Zeile, 8) = Format(TextBox6.Text)
Sheets("Tabelle1").Cells(manipulierte_Zeile, 9) = Format(TextBox7, "DD.MM.YYYY")
ActiveSheet.Protect
Sheets("Tabelle1").Visible = False
TextBox2.Tag = ""
Unload Me
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
With Me.ListBox1
If .ListIndex > -1 Then .RemoveItem (.ListIndex)
End With
UserForm7.Show
UserForm3.Hide

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox Makierung aufheben
27.10.2015 15:17:30
Nepumuk
Hallo,
kannst du eine Mustermappe mit ein paar Spieldaten hochladen, denn alleine aus dem Code kann ich das nicht nachvollziehen.
Gruß
Nepumuk

AW: ListBox Makierung aufheben
27.10.2015 16:10:32
Esmo
Moin Micheal,
hat Deine Listbox Multiselect als Eigenschaft?
Gruß
Ralph

AW: ListBox Makierung aufheben
02.11.2015 08:30:02
Moore
Ich hab das mit dem Upload probiert. Geht vom Geschäft aus nicht. Werde es heute Abend von Zu Hause probieren.

AW: ListBox Makierung aufheben
02.11.2015 08:50:27
Moore
Hallo Nepumuk,
wie gesagt, ich werde die Datei von Zu Hause hochladen. War leider krank.
Ich habe die ListBox Eigenschaft auf Single gestellt. Da funktioniert alles einwandfrei. Da ist halt das Problem, dass ich eine Markierung auswählen kann, doch sobald ich eine andere auswählen will, eine Fehlermeldung kommt. Setze ich die Eigenschaft auf Extended klappt der Wechsel der Markierungen und die TextBoxen werden auch jeweils geändert gefüllt. Danach möchte ich eben durch einen Button die Zeile wieder zurückschreiben und dann kommt auch ein Fehler.
Private Sub ListBox1_Click()
Dim selected As Integer
selected = Me.ListBox1.ListIndex
Me.TextBox1 = Me.ListBox1.List(selected, 1)
Me.TextBox3 = Me.ListBox1.List(selected, 2)
Me.TextBox4 = Me.ListBox1.List(selected, 4)
Me.TextBox5 = Me.ListBox1.List(selected, 6)
Me.TextBox6 = Me.ListBox1.List(selected, 7)
Me.TextBox7 = Me.ListBox1.List(selected, 8)
TextBox2.Tag = Split(TextBox2.Tag, ";")(selected)
End Sub

Private Sub CommandButton2_Click()
Sheets("Verfügungen").Visible = True
Sheets("Verfügungen").Select
ActiveSheet.Unprotect
Dim manipulierte_Zeile As Integer
If TextBox2.Tag = "" Then Exit Sub
manipulierte_Zeile = CLng(TextBox2.Tag)
Sheets("Verfügungen").Cells(manipulierte_Zeile, 2) = Format(TextBox1, "DD.MM.YYYY")
Sheets("Verfügungen").Cells(manipulierte_Zeile, 3) = Format(TextBox3.Text)
Sheets("Verfügungen").Cells(manipulierte_Zeile, 5) = Format(TextBox4.Text)
Sheets("Verfügungen").Cells(manipulierte_Zeile, 7) = Format(TextBox5.Text)
Sheets("Verfügungen").Cells(manipulierte_Zeile, 8) = Format(TextBox6.Text)
Sheets("Verfügungen").Cells(manipulierte_Zeile, 9) = Format(TextBox7, "DD.MM.YYYY")
ActiveSheet.Protect
Sheets("Verfügungen").Visible = False
TextBox2.Tag = ""
Unload Me
With Me.ListBox1
If .ListIndex > -1 Then .RemoveItem (.ListIndex)
End With
UserForm7.Show
UserForm3.Hide
End Sub

Private Sub CommandButton3_Click()
Dim Found As Range
Dim FirstAddress As String
Dim Search As String
Dim Zeile As Long
Zeile = 0
Search = TextBox2
If Search = "" Then Exit Sub
Me.ListBox1.ColumnCount = 9
Me.ListBox1.ColumnWidths = "0;170;70;0;263;0;150;0;0"
With Sheets("Verfügungen").Range("A6:A65536")
Set Found = .Find(Search, LookIn:=xlValues, LookAt:=xlWhole)
TextBox2.Tag = ""
TextBox15 = ""
If Not Found Is Nothing Then
FirstAddress = Found.Address
Do
TextBox2.Tag = TextBox2.Tag & ";" & Found.Row
Me.ListBox1.AddItem
Me.ListBox1.List(Zeile, 1) = Found.Offset(0, 1)
Me.ListBox1.List(Zeile, 2) = Found.Offset(0, 2)
Me.ListBox1.List(Zeile, 3) = Found.Offset(0, 3)
Me.ListBox1.List(Zeile, 4) = Found.Offset(0, 4)
Me.ListBox1.List(Zeile, 5) = Found.Offset(0, 5)
Me.ListBox1.List(Zeile, 6) = Found.Offset(0, 6)
Me.ListBox1.List(Zeile, 7) = Found.Offset(0, 7)
Me.ListBox1.List(Zeile, 8) = Found.Offset(0, 8)
Me.ListBox1.List(Zeile, 9) = Found.Offset(0, 9)
Set Found = .FindNext(Found)
Zeile = Zeile + 1                               '
Loop While Not Found Is Nothing And Found.Address  FirstAddress
If Zeile = 1 Then
End If
Else
TextBox15.Text = "Keine fortlaufende Nummer gefunden"
ListBox1.Clear
End If
End With
With ListBox1
.ListIndex = .ListCount - 1
.Value = ""
End With
TextBox2.Tag = Mid(TextBox2.Tag, 2)
End Sub

Anzeige
AW: ListBox Makierung aufheben
02.11.2015 15:05:18
Moore
Hallo Ralph,
nein, meine ListBox steht auf Single. Bei Extended spring er zwischen den Markierungen hin und her und befüllt die Textboxen auch wunderbar. Nach dem Anklicken eines Command Buttons (CB 2), soll er die geänderten Daten aus den TextBoxen wieder in die Originalzeile zurückschreiben und genau da liegt das Problem. Er bringt eine Fehlermeldung. Mache ich die ListBox auf Single klappt alles.

AW: ListBox Makierung aufheben
02.11.2015 21:21:07
Michael
Ich hoffe es hat geklappt und ihr könnt mir weiterhelfen.
Vielen Dank im voraus.....
Michael
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige