Thema Datum  Von Nutzer Rating
Antwort
06.05.2009 14:06:27 Ka_trina
NotSolved
Blau Aw:Eine Datenbank in Excel??? Wie??
08.05.2009 15:26:37 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
08.05.2009 15:26:37
Views:
448
Rating: Antwort:
  Ja
Thema:
Aw:Eine Datenbank in Excel??? Wie??
Hallo Ka_trina

Annahme: In der Zeile 1 der Tabelle stehen als Überschriften die die jeweiligen Bezeichnungen der Felder. Darunter gibt ‘Nachname‘ und ‘Vorname‘.

Ich empfehle, eine UserForm zu erstellen.

Da die Daten wohl sensibel sind, würde ich darin eine TextBox1 mit Password-Eigenschaft einrichten und die Tabelle als solche mit dem Visible-Eigenschaftswert „xlSheetVeryHidden“ versehen. Mit einem eingefügten CommandButton1 soll die Passwordprüfung starten. Bei zufriedenstellender Eingabe werden die übrigen Steuerelemente freigeschaltet und damit der Zugang zu den Daten gewährt. Der Code des Makros sollte ebenfalls mit einem Password geschützt werden (Extras – Eigenschaften von VBA-Project – Schutz).

Für die Eingabe des zu suchenden Nachnamen wird eine ComboBox1 eingerichtet. Das Eingabefeld dient zur Suchwerteingabe, die Liste zur Anzeige aller Nachnamen und Vornamen, deren Nachnamen das Suchwort enthält. Diese wird angezeigt, wenn nach Eingabe eines Suchwortes ein einzurichtender CommandButton2 gedrückt wird, es sei denn, dass nur eine einzige passende Person gefunden wurde.
Nach Auswahl (Anklicken) eines einzelnen Namens in der Comboboxliste oder wenn nur ein passender Name gefunden wurde werden die Daten in einem einzurichtenden Label1 angezeigt.

Das Programm wird mit einem CommandButton3 beendet.

Private z()

Private Sub ComboBox1_click()
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
Label1.Caption = Label1.Caption + CStr(Cells(1, i)) + ": " + _
CStr(Cells(z(ComboBox1.ListIndex), i)) + vbCrLf
Next i
End Sub

Private Sub CommandButton1_Click()
If TextBox1 = "Password" Then
CommandButton2.Enabled = True
TextBox1.Visible = False
CommandButton1.Visible = False
ComboBox1.Enabled = True
End If
End Sub

Private Sub CommandButton2_Click()
ls = Cells(1, Columns.Count).End(xlToLeft).Column
For nn = 1 To ls
If Cells(1, nn) = "Nachname" Then 'nn ist Nr der Nachnamenspalte
lz = Cells(Rows.Count, nn).End(xlUp).Row
Exit For
End If
Next nn
If lz = 0 Then MsgBox "Fehler in der Tabelle: Spalte 'Nachname' nicht gefunden!": Exit Sub
For vn = 1 To ls
If Cells(1, vn) = "Vorname" Then Exit For 'vn ist Nr der Nachnamenspalte
Next vn
If vn > ls Then vn = 0
ReDim z(0)
j = -1
Label1.Caption = ""
a = ComboBox1.text
If Trim(a) <> "" Then
ComboBox1.Clear
If InStr(a, ",") Then a = Left(a, InStr(a, ",") - 1)
For i = 2 To lz
If InStr(LCase(Cells(i, nn)), LCase(Trim(a))) > 0 Then
If vn > 0 Then
ComboBox1.AddItem Cells(i, nn) + ", " + Cells(i, vn)
Else
ComboBox1.AddItem Cells(i, nn)
End If
j = j + 1
ReDim Preserve z(j)
z(j) = i
End If
Next i
End If

Select Case j
Case -1
Label1.Caption = "Kein passender Eintrag vorhanden!"
Case 0
For k = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
Label1.Caption = Label1.Caption + CStr(Cells(1, k)) + ": " + _
CStr(Cells(z(j), k)) + vbCrLf
Next k
Case Else
ComboBox1.DropDown
End Select
End Sub

Private Sub CommandButton3_Click()
Unload UserForm4
End Sub

Private Sub TextBox2_Change()
CommandButton2.Caption = "Suchen"
such_i = 0
End Sub
Private Sub TextBox3_Change()
CommandButton2.Caption = "Suchen"
such_i = 0
End Sub

Private Sub UserForm_initialize()
worksheets("Tabelle1").Activate
TextBox1.PasswordChar = "*"
CommandButton2.Enabled = False
CommandButton1.Caption = "Prüfen"
CommandButton2.Caption = "Suchen"
CommandButton3.Caption = "Abbrechen"
Label1.Caption = ""
ComboBox1.Enabled = False
End Sub

Gruß
Holger


Ka_trina schrieb am 06.05.2009 14:06:27:

Hallo Leute,

also ich habe folgendes Problem.

Ich möchte in Tabelle 1 eine Liste erstellen, in dem alle Mitarbeiter der Firma enthalten sind und deren Funktionen.

Der Chef soll nur noch den Namen eingeben müssen und alle Funktionen sollen erscheinen.

Wie ist das möglich??
Hat jemand eine Idee...

vielleicht kann jemand mir ein kleines Bsp. erschaffen.

E-mail ist: Ka_trina@web.de

Danke schon mal
Katrina

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
06.05.2009 14:06:27 Ka_trina
NotSolved
Blau Aw:Eine Datenbank in Excel??? Wie??
08.05.2009 15:26:37 Holger
NotSolved