Hilfe bei Telefonliste
15.09.2008 17:00:00
Dirk
Habe eine Exceltabelle mit mehreren Tabellenblättern (A-Z).
In diesen Tabellenblättern befinden sich jeweils 5 Spalten (Name, Telefon, Fax, Anschrift, Bemerkungen). Zusätzlich gibt es noch eine Startseite (leeres Tabellenblatt). Die Textboxen für die 5 Spalten habe ich auf der Startseite integriert. Des weiteren befindet sich hier noch ein Butten namens Suche.
Für diesen Button wird folgender Code verwendet (stamm nicht von mir, habe ich aus dem Internet):
Private Sub btnSearch_Click()
Dim ws As Worksheet
Dim ctr As Control
Dim rng As Range
For Each ctr In Me.Controls
If StrComp(TypeName(ctr), "TextBox") = 0 Then
If Len(ctr.Value) Then
For Each ws In Worksheets
Set rng = ws.Cells.Find(What:=ctr.Value, LookIn:=xlValues, LookAt:=xlWhole) _
_
If Not rng Is Nothing Then Exit For
Next
If Not rng Is Nothing Then Exit For
End If
End If
Next
If Not rng Is Nothing Then
With rng.Parent.Cells(rng.Row, 1)
Me.txtName.Value = .Offset(0, 0).Value
Me.txtTelefon.Value = .Offset(0, 1).Value
Me.txtFax.Value = .Offset(0, 2).Value
Me.txtAnschrift.Value = .Offset(0, 3).Value
Me.txtBemerkung.Value = .Offset(0, 4).Value
End With
Else
MsgBox "Keinen passenden Eintrag gefunden!", vbInformation + vbOKOnly
End If
End Sub
Dieser Code ist eigentlich für eine Userform gedacht. Wenn ich ihn bei mir einfüge kommt immer die Fehlermeldung: For Each ctr In Me.Controls = Controls ist keine gültige Variabel.
Wie muss ich den Code umschreiben, damit, wenn ich auf suchen klicke, mir der gesuchte Begriff angezeigt wird. Anzumerken ist, dass der Benutzer nur eine Textbox (z.B. Fax) ausfüllen muss, auf suchen klickt und in den anderen Textboxen die dazugehörenden Daten aus der Liste angezeigt bekommt.
Des weiteren möchte ich über eine Userform oder einen separaten Button Daten in die jeweiligen Tabellenblätter hinzugügen. Wie ist dies zu bewerkstelligen.
mit freundlichen Grüssen
Dirk 26