Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zugriffssteuerung uber Username oder Passwort.
01.05.2014 18:35:43
Mark
Hallo bin Mark und seit heute neu in diesem Forum.
Ich habe mir hier, in letzter Zeit viele Anregungen zu Excel VBA geholt.
Nun habe ich ein Problem dessen Lösung ich bis dato nicht gefunden habe.
1. Ich habe ein Excelsheet mit Kundendaten und Monatsumsätzen.
2. Die Daten wurden durch bestimmte Personen über eine Userfom eingegeben.
3. Jeder dieser Einträge pro Kunde wurde mit dem "Username" ergänzt.
Nun zu meinem Problem
1. Ich will über eine Userform und Combobox, dem Kollegen, die Kundennummer wählen lassen.
2. Beim Sprung in das nächste Forumlar, welches dann die vorhandenen Daten einließt, brauche ich jetzt eine Art "Username" Berechtigungs Kontrolle.
Als Anspruch zur "Eierlegende-Wollmichsau" wäre es toll bestimmten Personen auch
einen Zugriff zu andern Kundendaten zu ermöglichen.
Hierzu als Info, es gibt immer ein gewissen Pool an Kunden, die einer Gruppe angehören. Hier will ich den "Chef´s" eine gesamtabfrage ermöglichen.
Schon vorab vielen Dank
Gruß Mark

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Erst mal Willkommen im Forum, Mark
01.05.2014 19:20:49
Matthias
Hallo
Allerdings habe ich keine einzige Frage in Deinem Beitrag gefunden.
Also welche Antwort erwartest Du ?
Zitat
Als Anspruch zur "Eierlegende-Wollmichsau" wäre es toll bestimmten Personen auch
einen Zugriff zu andern Kundendaten zu ermöglichen.

Sind denn die Kunden mit der Weitergabe ihrer Daten einverstanden ?
Gruß Matthias

AW: Erst mal Willkommen im Forum, Mark
01.05.2014 20:24:20
Mark
Hallo Matthias,
tja, das mit der Frage, da muß ich Dir recht geben, die habe ich mir gedacht,
aber nicht schriftlich fixiert.
Zum Thema Kundendaten alles so Ok.
Es ist ein internes Tool.
Hier meldet der Aussendienst seinen Kunden für ein Bonifizierungprogramm an,
bekommt einen Vertagsausdruck und dann will ich Monatlich Umsätze einlesen.
Somit kann man unterjährig die Entwicklung beobachten usw.
Und damit ein Kollege dies ermitteln kann soll er die Kundennummer eingeben.
Aber er soll nur die sehen können, die er eingeben hat.
bzw. der Chef soll alle aus einer Gruppe sehen. (Aber es gibt über 60 Gruppen)
So ich hoffe es ist etwas besser zu verstehen.
Ich will einfach nur wissen, wie Daten die ich in ein Formular (Userform) einlese nur die abfragen können die es auch eingtragen haben und natürlich noch die Eierlegende Wollmichsau.
Gruß Mark

Anzeige
also Netzwerk ?
01.05.2014 21:05:50
Matthias
Hallo Mark
Dann ist mit dem Datenschutz ja alles ok :-)
Für freigegebene Arbeitsmappen bin ich aber der falsche Helfer.
Da habe ich zu wenig Erfahrung.
aber evtl. hilft das
Frag den UserNamen ab und gib die Daten frei oder sperre die Anzeige

Application.UserName

Ich lass den Beitrag offen.
Allerdings solltest Du wissen das ein Profi immer an die Daten rankommt
da in Excel nichts sicher ist.
Gruß Matthias

Frage geändert = VBA Username abfrage als Passwort
04.05.2014 12:40:44
Mark
So hier ein neuer Ansatz für mein Problem.
Ich habe zirka. 200 Username jeder hat Daten in eine Gesamt Tabelle über userformen eingegeben.
Nun soll er mittels einer weiteren Userform, die Daten auslesen die ich in der Haupttabelle ergänzt habe.
ABER er darf nur die sehen, die er angelegt hat, jede Zeile die er angelegt hat wurde mit seinem Username versehen,
(Alternativ habe ich auch ein Passwort in die Tabelle geschrieben.)
Also alles Funktioniert soweit und bis dato arbeite ich mit einem Passwort.
Über Ideen würde ich mich freuen
Gruß Mark

Anzeige
AW: Frage geändert = VBA Username abfrage als Passwort
04.05.2014 14:47:11
fcs
Hallo Mark,
hier ein Beispielcode für ein Userform mit einer Listbox in der die Daten zu dem angemeldeten Usernamen angezeigt werden sollen. Für die Gruppen-Chefs ist ein entsprechender Vergleich der Gruppen-Nummer als ODER Prüfung eingebaut.
Sinnvoller als die Anzeige in einer Listbox eines Userforms ist es meiner Meinung nach, wenn die Daten des angemeldeten Users aus dem Blatt mit allen Daten in ein separates Blatt übertragen werden.
Das könnte man beim Öffnen der Datei automatisch machen. Vor dem Schliessen der Datei werden die Daten in diesem Blatt automatisch wieder gelöscht.
Gruß
Franz
'Code im Userform
Option Explicit
Private wksData As Worksheet         'Tabellenblatt mit den im Userform anzuzeigenden Daten
Private lngSpaUser As Long           'Spalte mit dem Usernamen
Private lngSpaGruppe As Long         'Spalte mit den Nummern der Gruppen
Private strUser As String            'User-Name
Private intGruppe As Integer         'Gruppen-Nr für prüfung bei Gruppen-Chefs
Private arrData()
Private Sub CommandButton_Beenden_Click()
'Beenden-Schaltfläche des Userforms
Erase arrData
Set wksData = Nothing
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim Zeile As Long, Spalte As Long, Zeile_L As Long, Spalte_L As Long, lngI As Long
Set wksData = ActiveWorkbook.Worksheets("Umsatz") 'Tabellenblatt anzuzeigenden Daten
lngSpaUser = 2      'Spalte mit dem Usernamen
lngSpaGruppe = 3      'Spalte mit den Gruppennummern
strUser = VBA.Environ("Username")
'Prüfen, ob angemeldeter User Chef einer Gruppe ist
intGruppe = 0
'im Blatt "Auswahllisten" in Spalte F nach dem Usernamen suchen und aus _
Spalte E die Gruppennummer auslesen
'In Spalte E stehen ab Zeile 3 die Nummern der Gruppen und in Spalte die _
Usernamen der Gruppenchefs
With Worksheets("Auswahllisten")
Zeile_L = .Cells(.Rows.Count, 6).End(xlUp).Row
For Zeile = 3 To Zeile_L
If .Cells(Zeile, 6).Text = strUser Then
intGruppe = .Cells(Zeile, 5).Value
Exit For
End If
Next Zeile
End With
'Listbox-Einstellungen - diese können auch direkt im Formulareditor unter den _
Eigenschaften der Box gemacht werden
Spalte_L = 9 'letzte Daten-Spalte in Tabelle
With Me.ListBox1
.ColumnCount = Spalte_L
.ColumnWidths = "40Pt;50Pt;30Pt;50Pt;50Pt;30Pt;30Pt;30Pt;40Pt"
.BoundColumn = 1
End With
'Daten zu Username aus Datentabelle in Datenarray einlesen
Erase arrData
With wksData
lngI = 0
Zeile_L = .Cells(.Rows.Count, lngSpaUser).End(xlUp).Row
For Zeile = 2 To Zeile_L
If .Cells(Zeile, lngSpaUser).Text = strUser _
Or .Cells(Zeile, lngSpaGruppe).Value = intGruppe Then
lngI = lngI + 1
ReDim Preserve arrData(1 To Spalte_L, 1 To lngI)
For Spalte = 1 To Spalte_L
arrData(Spalte, lngI) = .Cells(Zeile, Spalte).Value
Next Spalte
End If
Next Zeile
End With
If lngI > 0 Then
'Daten aus Daten-Array in die Auswahlliste der Listbox übertragen
Me.ListBox1.Column = arrData
Else
MsgBox "Keine Daten zum Usernamen """ & strUser & """ gefunden."
End If
End Sub

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige