Eigener Suchendialog mit weitersuchen

17/02/2013 - 12:31 von Thomas Koch | Report spam
Hallo Leute

für eine liste die aus 10 spalten und ca 1000 zeilen besteht habe ich mir eine userform gebaut die im wesentlichen dem aufbau der excel datenmaske entspricht.
auf der userform sind 10 textboxen enthalten deren werte ich über einen commanbutton am ende der liste eintrage.
nun möchte ich in der liste nach dem wert aus textbox5 suchen und die werte der einzelnen zellen dieser zeile in den textboxen anzeigen lassen.
um den letzten gesuchten eintrag zu finden habe ich folgenden code

Private Sub CommandButton1_Click()
Dim frm1 As UserForm
Set frm1 = UserForm4
With frm1
Range("e:e").Select
On Error GoTo fehler
Selection.Find(What:=.TextBox5.Value, _
After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlDescending, _
MatchCase:=False).Activate
ActiveCell.Select
TextBox1.Value = ActiveCell.Offset(0, -4).Value
TextBox2.Value = ActiveCell.Offset(0, -3).Value
TextBox3.Value = ActiveCell.Offset(0, -2).Value
TextBox4.Value = ActiveCell.Offset(0, -1).Value
TextBox6.Value = ActiveCell.Offset(0, 1).Value
TextBox7.Value = ActiveCell.Offset(0, 2).Value
TextBox8.Value = ActiveCell.Offset(0, 3).Value
TextBox9.Value = ActiveCell.Offset(0, 4).Value
TextBox10.Value = ActiveCell.Offset(0, 5).Value
Exit Sub
fehler:
MsgBox "ein Auftrag mit der Artikel-Nummer: " & _
.TextBox5.Value & " ist nicht vorhanden!"
End With
End Sub

in der liste stehen in spalte e die artikelnummern die bis zu 5 mal auftauchen können und so möchte ich nach dem vorbild der datenmaske gerne den vorherigen oder auch mal den nàchsten datensatz angezeigt bekommen.

die datenmaske selber kann ich so nicht verwenden weil die eintràge die ich vornehme auch in verschiedene andere tabelenblàtter eingetragen werden.

wie kann ich da nun in den code einbauen, dass auch die anderen datensàtze anzeigt werden?

für eure bemühungen im voraus vielen dank

mfg thomas koch

excel2003 & excel 2007 unter win7 prof 64bit
 

Lesen sie die antworten

#1 HR Ernst
17/02/2013 - 12:57 | Warnen spam
Am Sun, 17 Feb 2013 03:31:22 -0800 (PST) schrieb Thomas Koch:

Hallo Leute

für eine liste die aus 10 spalten und ca 1000 zeilen besteht habe ich mir eine userform gebaut die im wesentlichen dem aufbau der excel datenmaske entspricht.
auf der userform sind 10 textboxen enthalten deren werte ich über einen commanbutton am ende der liste eintrage.
nun möchte ich in der liste nach dem wert aus textbox5 suchen und die werte der einzelnen zellen dieser zeile in den textboxen anzeigen lassen.
um den letzten gesuchten eintrag zu finden habe ich folgenden code

Private Sub CommandButton1_Click()
Dim frm1 As UserForm
Set frm1 = UserForm4
With frm1
Range("e:e").Select
On Error GoTo fehler
Selection.Find(What:=.TextBox5.Value, _
After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlDescending, _
MatchCase:=False).Activate
ActiveCell.Select
TextBox1.Value = ActiveCell.Offset(0, -4).Value
TextBox2.Value = ActiveCell.Offset(0, -3).Value
TextBox3.Value = ActiveCell.Offset(0, -2).Value
TextBox4.Value = ActiveCell.Offset(0, -1).Value
TextBox6.Value = ActiveCell.Offset(0, 1).Value
TextBox7.Value = ActiveCell.Offset(0, 2).Value
TextBox8.Value = ActiveCell.Offset(0, 3).Value
TextBox9.Value = ActiveCell.Offset(0, 4).Value
TextBox10.Value = ActiveCell.Offset(0, 5).Value
Exit Sub
fehler:
MsgBox "ein Auftrag mit der Artikel-Nummer: " & _
.TextBox5.Value & " ist nicht vorhanden!"
End With
End Sub

in der liste stehen in spalte e die artikelnummern die bis zu 5 mal auftauchen können und so möchte ich nach dem vorbild der datenmaske gerne den vorherigen oder auch mal den nàchsten datensatz angezeigt bekommen.

die datenmaske selber kann ich so nicht verwenden weil die eintràge die ich vornehme auch in verschiedene andere tabelenblàtter eingetragen werden.

wie kann ich da nun in den code einbauen, dass auch die anderen datensàtze anzeigt werden?

für eure bemühungen im voraus vielen dank

mfg thomas koch

excel2003 & excel 2007 unter win7 prof 64bit



Im Deutschen gibt es Groß-/Kleinschreibung, Rechtschreibung und
Zeichensetzung. Deine Schreibweise ist schrecklich und für die Augen
schàdlich!

Außerdem gibt es die aktuelle NG für Excel:
de.comp.office-pakete.ms-office.excel.

Gruß

H.-R. Ernst

Ähnliche fragen