Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
ListIndex bei TextBox
27.03.2015 09:57:55
Kay
Hallo zusammen,
ich habe eine UF in der ein Button eingebaut ist, bei dem ein Excel Sheet gelöscht werden kann. Zudem gibt es noch ein Sheet, in dem verschiedene Benutzer und die dazugehörigen Gruppen angelegt wurden.
Ich kann jetzt prüfen, ob ein Benutzer bestimmte Rechte besitzt. Jetzt möchte ich aber die ComboBox1 durch eine TextBox ersetzen, da der Benutzer beim erstmaligen Login in der TextBox gespeichert wird.
Jetzt meine Frage: Wie kann ich den Befehl "ComboBox1.ListIndex" durch die neue TextBox ersetzen. Ich habe mal das Codebeispiel beigefügt.
If TextBox2.Text = Sheets("Daten").Cells(ComboBox1.ListIndex + 1, 2) Then
If Not Sheets("Daten").Cells(ComboBox1.ListIndex + 1, 3) = "Admin" Then
MsgBox "Sie haben keine Berechtigung! Zugriff verweigert!", vbCritical
ComboBox1.Text = ""
TextBox2.Text = ""
ComboBox1.SetFocus
GoTo Ende
End If

Danke erstmal für Eure Hilfe.
Und noch eine Frage: wie kann man hier den Code in einem Codeeditor anzeigen lassen?
Danke Euch allen
Gruß Kay

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListIndex bei TextBox
27.03.2015 12:55:31
Rudi
Hallo,
die Zeile kannst du mit
Zeile= Application.Match(textbox,spalte,0)

ermitteln.
Gruß
Rudi

AW: ListIndex bei TextBox
27.03.2015 17:20:21
Kay
Hallo Rudi,
danke für die schnelle Info. Leider funktioniert es nicht. Es kommt immer die Fehlermeldung "Typen unverträglich". Leider stehe ich grad ein bisschen auf dem Schlauch und komme hier nicht weiter.
Könntest du mir bitte nochmal weiter helfen? Hier mal den Code, den ich geändert habe:
Private Sub btnDelete_Click()
Zelle = Sheets("Daten").Application.Match(TextBox9, 3, 0)
If Not Zelle = "Admin" Then
MsgBox "Sie haben keine Berechtigung! Bitte wenden Sie sich an Ihren Administrator!",  _
vbCritical + vbOKOnly
GoTo Ende
Else
If MsgBox("Soll der Auftrag wirklich gelöscht werden?", vbYesNo) = vbYes Then
MsgBox "Der Auftrag wird gelöscht!", vbInformation
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Sheets("Begrüßung").Select
Unload Me
Maschinenauswahl.Show
Else
Exit Sub
End If
End If
Ende:
End Sub
Vielen Dank
Gruß Kay

Anzeige
AW: ListIndex bei TextBox
27.03.2015 17:38:06
Kay
Hallo Rudi,
danke für die schnelle Info. Leider funktioniert es nicht so wie ich es gedacht habe. Es kommt die Fehlermeldung "Typen unverträglich". Wie muss ich den nachfolgenden Code denn anpassen, damit es klappt. Leider stehe ich hier etwas auf dem Schlauch und komme hier nicht weiter.
Könntest du mir bitte bei dem Code nochmal helfen?
Private Sub btnDelete_Click()
Zelle = Sheets("Daten").Application.Match(TextBox9, 3, 0)
If Not Zelle = "Admin" Then
MsgBox "Sie haben keine Berechtigung! Bitte wenden Sie sich an Ihren Administrator!",   _
_
vbCritical + vbOKOnly
GoTo Ende
Else
If MsgBox("Soll der Auftrag wirklich gelöscht werden?", vbYesNo) = vbYes Then
MsgBox "Der Auftrag wird gelöscht!", vbInformation
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Sheets("Begrüßung").Select
Unload Me
Maschinenauswahl.Show
Else
Exit Sub
End If
End If
Ende:
End Sub
Vielen Dank
Gruß Kay

Anzeige
AW: ListIndex bei TextBox
28.03.2015 21:22:44
Nepumuk
Hallo
so besser?
Private Sub btnDelete_Click()
    
    Dim Zelle As Variant
    
    Zelle = Application.Match(TextBox9.Text, Worksheets("Daten").Columns(3), 0)
    
    If IsError(Zelle) Then
        MsgBox "Sie haben keine Berechtigung! Bitte wenden Sie sich an Ihren Administrator!", vbCritical
    Else
        
        If MsgBox("Soll der Auftrag wirklich gelöscht werden?", vbYesNo) = vbYes Then
            
            MsgBox "Der Auftrag wird gelöscht!", vbInformation
            
            Application.DisplayAlerts = False
            ActiveSheet.Delete
            Application.DisplayAlerts = True
            
            Sheets("Begrüßung").Select
            Unload Me
            
            Maschinenauswahl.Show
            
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: ListIndex bei TextBox
31.03.2015 17:38:53
Kay
Hallo Nepumuk,
erstmal vielen Dank für die Hilfe. Er bringt schon mal keinen Fehler, von daher schon mal gut. Aber wie bekommen ich es jetzt hin, das bei Mitarbeitern, bei denen in Spalte 3 "Admin" steht, schon noch die Berechtigung haben. Es müsste also geprüft werden, ob in "Zelle" das Wort "Admin" drin steht, dann sollte das löschen erlaubt werden.
Kannst du mir vielleicht nochmal weiterhelfen?
Vielen Dank
Gruß Kay

AW: ListIndex bei TextBox
01.04.2015 08:37:42
Nepumuk
Hallo,
was steht denn eigentlich in TextBox9? Wo kann wie der aktuelle Benutzer ermittelt werden? Ich kenn deinen Tabellenaufbau nicht.
Gruß
Nepumuk

Anzeige
AW: ListIndex bei TextBox
01.04.2015 14:29:24
Kay
Hallo Nebumuk,
In TextBox9 steht der Benutzer. Diese Benutzer sind in Tabelle1/Spalte A angelegt. In Spalte C dieser Tabelle1, steht bei manchen Benutzern Admin drin. Diese Benutzer sollen alles dürfen, der Rest, bei denen die Zelle in Spalte C leer ist, dürfen zum Beispiel keine Aufträge löschen.
Jetzt soll, mit dem Benutzernamen in TextBox9 geprüft werden, ob für den Benutzer in Tabelle1 / Spalte C das Wort "Admin" steht. Wenn ja, wird der Zugang erlaubt. Wenn nein, dann kommt eine MsgBox.
Beispiel Tabelle1:
Spalten
A........|C
Müller...|Admin...(Zugang wird erlaubt)
Meier....|........(Kein Zugang)
Hubert...|Admin...(Zugang wird erlaubt)
Die TextBox9 ist übrigens in einer UserForm enthalten.
Ich hoffe ich konnte es einigermaßen verständlich erklären.
Vielen Dank
Gruß Kay

Anzeige
AW: ListIndex bei TextBox
01.04.2015 15:10:04
Nepumuk
Hallo,
dann teste mal:
Private Sub btnDelete_Click()
    
    Dim Zeile As Variant
    
    Zeile = Application.Match(TextBox9.Text, Worksheets("Daten").Columns(1), 0)
    
    If Not IsError(Zeile) Then
        
        If Worksheets("Daten").Cells(Zeile, 3).Value = "Admin" Then
            
            If MsgBox("Soll der Auftrag wirklich gelöscht werden?", vbYesNo) = vbYes Then
                
                MsgBox "Der Auftrag wird gelöscht!", vbInformation
                
                Application.DisplayAlerts = False
                ActiveSheet.Delete
                Application.DisplayAlerts = True
                
                Sheets("Begrüßung").Select
                Unload Me
                
                Maschinenauswahl.Show
                
            End If
            
        Else
            MsgBox "Sie haben keine Berechtigung! Bitte wenden Sie sich an Ihren Administrator!", vbCritical
        End If
    Else
        MsgBox "Benutzerdaten nicht gefunden! Bitte wenden Sie sich an Ihren Administrator!", vbCritical
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: ListIndex bei TextBox
02.04.2015 18:22:36
Kay
Hallo Nepumuk,
super, das ist genau das was ich wollte. Vielen Dank nochmal für die Geduld und die Hilfe.
Frohe Ostern
Gruß Kay

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige