Office: VBA einzelne Tabellenblätter nur mit Pin/Passwort bearbeiten können

Helfe beim Thema VBA einzelne Tabellenblätter nur mit Pin/Passwort bearbeiten können in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi Leute, ich bin neu hier, nicht fündig geworden und eröffne nun mal mein Anliegen: Ich beschäftige mich seit kurzem mit Visual Basic. Ich möchte... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Mischi177, 27. Januar 2015.

  1. Mischi177 Neuer User

    VBA einzelne Tabellenblätter nur mit Pin/Passwort bearbeiten können


    Hi Leute, ich bin neu hier, nicht fündig geworden und eröffne nun mal mein Anliegen:

    Ich beschäftige mich seit kurzem mit Visual Basic.
    Ich möchte in Excel eine Datei erstellen, wo jeder meiner Mitarbeiter seine geleisteten Stunden selbst eintragen kann.
    Jeder Mitarbeiter soll einem Tabellenblatt zugewiesen werden und auch nur dieses bearbeiten können.

    In VBA bin ich nun soweit, dass sich beim öffnen der Arbeitsmappe ein Fenster/Eingabemaske öffnet, in welches man eine "Pin/Passwort" eingeben muss und sich dann das entsprechende Tabellenblatt öffnet.

    Problem:
    Jeder User kann jedes Tabellenblatt ausfüllen. Habs mit .Unprotect, .protect, .cells.locked etc probiert - Ich weiß nicht weiter.
    Habe hier im Forum etwas gefunden wo man nur einzelne Spalten bearbeiten kann, habe es aber nicht geschafft diese Codes auf die Worksheets abzuändern, geschweige denn den "Passwortschutz" (wenns denn geht :-) )

    Schön wäre wenn der Admin (Ich) mit einem "Masterpasswort" alles bearbeiten könnte... aber das nur am Rande.

    Vielleicht habt Ihr ja eine Idee, wie ich es am besten lösen könnte.

    Über hilfreiche Tipps wäre ich sehr dankbar.

    Gruß Michael
     
    Mischi177, 27. Januar 2015
    #1
  2. miriki Erfahrener User
    Moinsens!

    Aus Datenschutz-Sicht ist es höchstwahrscheinlich absolut überhaupt gar nicht akzeptabel, daß ein Mitarbeiter auch nur Einsicht, geschweige denn Änderungsmöglichkeiten, in die Zeitkonten seiner Kollegen hat.

    Excel ist da, was die Sicherheit der Daten betrifft, nicht unbedingt die beste Wahl. Aber mit ein paar Punkten kann man wenigstens in die richtige Richtung gehen und "das Beste draus machen".

    Ich würde damit anfangen, daß die Blätter der jeweils "anderen" Mitarbeiter ausgeblendet werden. Und damit die nicht auch "mal eben" wieder eingeblendet werden können, müssen sie per VBA mit "xlVeryHidden" versehen werden. Damit tauchen sie nicht mehr in der Liste der einblendbaren Blätter auf.

    Mittels ".Locked" kannst Du Zellen für die Bearbeitung sperren oder freigeben. Zusammen mit dem ".Protect" des Arbeitsblatts wird dieser Schutz aber erst wirksam.

    Die PIN-Abfrage ist schon mal ein Anfang, aber es wäre vielleicht sicherer, direkt den Windows-Benutzernamen auszulesen. Zusätzlich dann noch nach einem Paßwort zu fragen, kann dann aber nicht schaden. Über eine Umsetzungs-Tabelle kannst Du dann ja den Windows-Namen in den "echten" Namen umsetzen und Änderungs-Rechte bestimmen.

    Diese ganzen Mechanismen sind aber für die Katz, wenn jemand die Mappe öffnet, ohne die Makros zu aktivieren (Sicherheits-Einstellungen) und dann noch in den Entwurfsmodus / VBA-Editor gehen kann. Wenn dann die PINs für die Eingangs-Abfrage oder die Passworte für den Blattschutz im VBA-Source einzusehen sind, dann gute Nacht Marie... ;-) Durch Freigabe für gemeinsame Bearbeitung und ein paar andere Maßnahmen (z.B. Passworte als MD5-Checksumme speichern) kann man dem wieder etwas entgegenwirken, aber ganz sauber wird das trotzdem nicht.

    Alles in allem: Ein Riesenaufwand für etwas, was mit "professioneller" Software speziell für Zeiterfassungen sicherlich sehr viel vernünftiger hinzubekommen ist.

    Gruß, Michael
     
  3. miriki Erfahrener User
    Moin, nochmal...

    Wenn Du das ganze natürlich auch als Programmier-Objekt ansiehst, um Dich mit VBA vertraut zu machen, dann könntest Du dir mal anschauen, was ich im Anhang habe.

    Ok, die beiden Module mdl_WsInfo und mdl_MD5 sind sicherlich bereits deutlich jenseits von Anfänger-Niveau. Aber die kannst Du ja mal als "gegeben" ansehen.

    Das mdl_Login ist da mehr für Dich interessant und dazu der Code hinter "DieseArbeitsmappe" und dem Worksheet "Login".

    Wenn Du Dir das Blatt "MD5" ansiehst: Die Spalte "Passwort" darf in der endgültigen Fassung natürlich nicht mehr enthalten sein - also nicht nur ausgeblendet, sondern wirklich gelöscht!

    Aber ich befürchte mal, daß so ein Projekt, gerade weil es auch noch mit sensiblen Daten hantiert, vielleicht doch ein bißchen zu viel für den Anfang ist...

    Gruß, Michael
     
Thema:

VBA einzelne Tabellenblätter nur mit Pin/Passwort bearbeiten können

Die Seite wird geladen...
  1. VBA einzelne Tabellenblätter nur mit Pin/Passwort bearbeiten können - Similar Threads - VBA einzelne Tabellenblätter

  2. VBA - Serienbriefe in einzelnen Dokumenten speichern

    in Microsoft Word Hilfe
    VBA - Serienbriefe in einzelnen Dokumenten speichern: Hallo, Ich möchte Serienbriefe mit Daten aus einem Excelsheet erstellen. Dann sollen die Briefe als einzelne Word-Dokumente in einem Ordner abgespeichert werden. Dazu soll ein Ordner, benannt...
  3. einzelnes Blatt mit VBA Passwort sperren

    in Microsoft Excel Hilfe
    einzelnes Blatt mit VBA Passwort sperren: Hallo ich habe einen Excel Kalender mit den Blättern Start,2018,2019,... Beim Start wird immer das aktuelle Jahr aufgerufen also aktuell 2018. Beim Blatt Start soll beim Aufrufen nach einem...
  4. Mit VBA einzelne Tabellenblätter aus Excel separat speichern

    in Microsoft Excel Hilfe
    Mit VBA einzelne Tabellenblätter aus Excel separat speichern: Hallo zusammen, ich bräuchte dringend ein Makro in Excel, welches mir täglich die Tabellenblätter D1 bis D7 als neue/separate Excel-Dateien im csv Format in einem Ordner speichert (pro D eine...
  5. Bilder aus einzelnen Zellen mittels VBA löschen

    in Microsoft Excel Hilfe
    Bilder aus einzelnen Zellen mittels VBA löschen: Hallo zusammen, gibt es eine Möglichkeit nur Bilder aus bestimmten Zellen eines Tabellenblattes mittels eines VBA Codes zu löschen? Bis jetzt hab ich nur Worksheets("").DrawingObjects.Delete...
  6. Serienbrief erstellen und Tabellen einzeln als Anhang einfügen

    in Microsoft Word Hilfe
    Serienbrief erstellen und Tabellen einzeln als Anhang einfügen: Hallo alle zusammen, ich habe folgendes Projekt bekommen und suche zur Zeit einen Lösungsansatz (keinen vollständigen Code): Es gibt eine Excel-Tabelle mit mehreren Anlagen. Jede Anlage hat...
  7. Einzelne Zellen auslesen/exportieren per VBA

    in Microsoft Excel Hilfe
    Einzelne Zellen auslesen/exportieren per VBA: Hi an alle, ich habe in Excel 07 ein Formular, das jeden Tag von neuem ausgefüllt wird. Nach dem Ausfüllen möchte ich, dass sich das Formluar schließt, die auszufüllenden Felder zurückgesetzt...
  8. Einzelne Zellwerte zweier Tabellen vergleichen (VBA)

    in Microsoft Excel Hilfe
    Einzelne Zellwerte zweier Tabellen vergleichen (VBA): Hallo Leute, Ich bin neu hier und Hilfe suchend. Leider habe weder beim google(n) noch hier eine wirklich passende Lösung in einem der Threads gefunden. Also poste ich meine Frage hier rein....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden