mit folgender Routine such ich Datensätze:
Sub DatenSatzSuchen(Taste As String)
Dim Laenge As Integer
Dim Posi As Integer
Dim Zeile As String
Dim Erst As Integer
Dim Name As String
Dim frm2 As Object
Set frm2 = UserForm2
TestDateiName
Windows("Jutta-Adressen").Activate
Sheets("Tabelle1").Select
UserFormSpeichern
With frm2
If Name .TextBox15.Value Then
On Error GoTo fehler
If Taste = "pgup" Then
Cells.Find(What:=.TextBox15.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
MatchCase:=False, SearchFormat:=False).Activate
Name = .TextBox15.Value
ElseIf Taste = "pgdn" Then
Cells.Find(What:=.TextBox15.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Name = .TextBox15.Value
ElseIf Taste = "enter" Then
Cells.Find(What:=.TextBox15.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Name = .TextBox15.Value
End If
Else
Cells.FindNext(After:=ActiveCell).Activate
End If
Zeile = ActiveCell.Address
Posi = InStr(2, Zeile, "$")
Laenge = Len(Zeile)
Zeile = Right(Zeile, Laenge - Posi)
.TextBox1.Value = Range("A" + Zeile).Value 'ActiveCell.Offset(0, -1).Value
.TextBox2.Value = Range("C" + Zeile).Value 'ActiveCell.Offset(0, 1).Value
.TextBox22.Value = Range("AE" + Zeile).Value
.TextBox23.Value = Range("AF" + Zeile).Value
.TextBox24.Value = Range("AG" + Zeile).Value
Exit Sub
fehler:
MsgBox "Ein Datensatz " & .TextBox15.Value & " konnte nicht gefunden werden"
End With
End Sub
funktioniert auch so wie ich will (jedenfalls bisher). Was bisher ein Vorteil war, nämlich dass der gesamte Satz durchsucht wurde, ist jetzt nicht mehr gut.Was muß ich machen, damit die Suche auf z.B. auf die ersten 6 Spalten begrenzt ist?
Eine Antoert wäre sehr nett.
Mit freundlichen Grüßen
Albrecht