Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Vergleich von TextBox und Tabelle
#1
Hallo zusammen,

hab mal wieder ein Schlauch vorm Kopf und steh auf nem Brett...

bei nachfolgendem Code möchte ich die Eingabe aus dem UserForm6 TextBox1 die Eingabe einlesen und mit einer intelligenten Tabelle (Spalte Benutzer) vergleichen...
bei der If-Abfrage bekomme ich die Fehlermeldung, dass die Objektvariable nicht festgelegt ist (Laufzeitfehler 91)...
Gebe ich einen existierenden Benutzer ein, so sagt er mir richtig, dass der Benutzer schon existiert...
Gebe ich dann einen neuen Namen ein, kommt der Fehler...


Dim tabrng As String
Dim tabbox As Range
Dim tbl As ListObject
Set tbl = Tabelle7.ListObjects(1)
Dim Zeile As Long

tabrng = UserForm6.TextBox1.Value
Set tabbox = Range("tblZugriff[Benutzer]").Find(What:=tabrng, LookAt:=xlWhole)

If tabrng = tabbox Then

    MsgBox "Dieser Benutzer existiert bereits!"
    UserForm6.TextBox1.Value = ""
    UserForm6.TextBox2.Value = ""
    UserForm6.TextBox3.Value = ""
    UserForm6.TextBox1.SetFocus
    Exit Sub
   
Else:

    tbl.ListRows.Add
    Zeile = tbl.DataBodyRange.Rows.Count
   
    tbl.DataBodyRange(Zeile, 1).Value = UserForm6.TextBox1.Value
    tbl.DataBodyRange(Zeile, 2).Value = UserForm6.TextBox2.Value
    tbl.DataBodyRange(Zeile, 3).Value = "Benutzer"
   
End If
Unload UserForm6
           
End Sub

Wie kann ich Schlauch und Brett loswerden?

Danke euch schonmal....
Antworten Top
#2
Hallo,

Code:
Sub aaa()
  Dim tbl As ListObject
  Set tbl = Tabelle7.ListObjects("tblZugriff")
  If Not tbl.ListColumns("Benutzer").DataBodyRange.Find(What:=TextBox1.Value, LookAt:=xlWhole) Is Nothing Then
      MsgBox "Dieser Benutzer existiert bereits!"
      TextBox1.Value = ""
      TextBox2.Value = ""
      TextBox3.Value = ""
      TextBox1.SetFocus
  Else
      With tbl.ListRows.Add.Range
         .Cells(1).Value = TextBox1.Value
         .Cells(2).Value = TextBox2.Value
         .Cells(3).Value = "Benutzer"
      End With
      Unload Me
  End If
End Sub

Gruß, Uwe
Antworten Top
#3
Vielen herzlichen Dank, Uwe :)

anscheinend wollte ich es zu einfach haben in meiner Überlegung....

das funktioniert perfekt :)

danke nochmals und ein schönes Wochenende....welches bei mir nun gerettet ist, da ich weiter komme :)

Thumbsupsmileyanim Thumbsupsmileyanim Thumbsupsmileyanim
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste