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.

Dropdown VBA
#1
Servus zusammen,

anbei der Aufbau einer Datei. Es sind in der Dropdown-Liste mehrere Namen von Mitarbeitern. Ist es möglich, das jeder Mitarbeiter nur seine Daten sehen kann?

Stelle mir das unmöglich vor. Man müsste ja i wie schon beim Öffnen der Datei erkennen um welchen User es sich überhaupt handelt.. Oder gibt es da andere Möglichkeiten ?


Grüße
Felix


Angehängte Dateien
.xlsx   Test.xlsx (Größe: 8,17 KB / Downloads: 8)
Antworten Top
#2
Hallo Felix,

da gibt es keinen sicheren Weg.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo Klaus-Dieter,

gäbe es denn überhaupt einen Weg oder ist das einfach nicht möglich?
Antworten Top
#4
Hallo,

Daten in einer Datei verbergen ist im höchsten Maße unsicher. Es könnte höchsten jeder Mitarbeiter seine eigene Datei führen, und der dafür berechtigte führt eine Gesamtdatei, wo er die Daten zusammen führt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • BachFel
Antworten Top
#5
@Felix

Klaus-Dieter hat natürlich Recht. Aber wenn die Kollegen keine Xl-Spezialisten sind (und keinen kennen), kann man Arbeitsblätter verstecken (xlVeryHidden).

Aber es darf keine Katastrophe sein, falls der Schutz überwunden wird.

(VBA erforderlich)
Antworten Top
#6
Hi Phi.VBA

ich habe bereits ein Makro i.V.m VeryHidden das es nur mit Hilfe eines Passwortes ermöglicht alle Tabellenblätter aufzurufen die in der Datei sind.
Das Problem hierbei wäre eben nur dass alle Kollegen in dem gleichen Arbeitsblatt arbeiten. Es soll nicht für jeden MA ein eigenes Arbeitsblatt angelegt werden (gleiche Daten gehören in ein Arbeitsblatt habe ich mal gelesen) =)

Aber falls du eine Lösung bzw. einen Ratschlag für den beschrieben Fall hast, sage ich natürlich nicht nein.

Grüße
Felix
Antworten Top
#7
Ein Versuch:

Das VBA-Project muss noch geschützt werden, ist aber zum testen zu unpraktisch.

Zum Testen auf Blatt1 wechseln


Angehängte Dateien
.xlsm   BachFel.xlsm (Größe: 20,44 KB / Downloads: 4)
Antworten Top
#8
@Felix

auch nicht sicher, aber eine andere Variante:

im "Kopf" von Tabelle 3: in Spalte A muss der UserName stehen:


Code:
Private Sub Worksheet_Activate()
Dim WS As Worksheet: Set WS = ActiveSheet
   User = Environ("Username")
   With Cells(1, 1).CurrentRegion
       .AutoFilter 1, User
       .Cells.Locked = False
   End With
   WS.Protect , , , , True, True, True, True
End Sub

Private Sub Worksheet_Deactivate()
With Tabelle3
   .Unprotect
   .Cells.Locked = True
   .Cells(1, 1).CurrentRegion.AutoFilter
End With
End Sub
Antworten Top
#9
Hi,

es wird ja wohl vermutlich jeder Benutzer einen eigenen Netzwerk-Einloggnamen haben.
Dann kann mit dem folgenden Makro der Zugriff für jeden Nutzer nur auf sein Blatt begrenzt werden.
Es gibt noch ein Blatt Übersicht (das ist Tabelle1), das für alle angezeigt wird.

Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 

Private Sub Workbook_Open()
  Dim s As String
  Dim i As Long
   
  s = VBA.Environ("Username")
  'MsgBox (s)
   
  With Application
     .ScreenUpdating = False
     .DisplayAlerts = False
  End With
   
  With ThisWorkbook                'Tabellen, Bereiche und Formularschaltflächen ausblenden, je nach Account
     Select Case LCase(s)          'unabhängig von der Großschreibung
     Case "user1"
        For i = 2 To Sheets.Count
           .Sheets(i).Visible = False
        Next i
        .Sheets("User1").Visible = True
        .Sheets("User1").Activate
        '.Sheets("Übersicht").Range("1:46").EntireRow.Hidden = False
        '.Sheets("Übersicht").Range("48:60").EntireRow.Hidden = True
        '.Sheets("Übersicht").DrawingObjects("Button 1").Visible = True
     Case "user2"
        For i = 2 To Sheets.Count
           .Sheets(i).Visible = False
        Next i
        .Sheets("User2").Visible = True
        .Sheets("User2").Activate
     Case "user3"
        For i = 2 To Sheets.Count
           .Sheets(i).Visible = False
        Next i
        .Sheets("User3").Visible = True
        .Sheets("User3").Activate
        'Case "...        'und so weiter
     Case Else
        'Datei schreibgeschützt öffnen
        'Ausdruck.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)
        Application.DisplayAlerts = False
        '         Workbooks.Open ThisWorkbook.FullName, , True
        For i = 2 To Sheets.Count
           .Sheets(i).Visible = False
        Next i
     End Select
  End With
  With Application
     .DisplayAlerts = True
     .ScreenUpdating = True
  End With
End Sub

[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • BachFel
Antworten Top


Gehe zu:


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