Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel ComandButton mit Passwort

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel ComandButton mit Passwort (4275 mal gelesen)
Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 04. Nov. 2011 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ein freundliches Hallo sende ich.
Habe mir gerade einen Code hinter einen CommandButton gelegt, der in passwortgeschützten Arbeitsblättern die Pivotdaten aktualisieren soll. Funktioniert bis hier: Nach anklicken des Button wird das Passwort deaktiviert, die Pivotdaten werden aktualisiert, aber danach wird das Passwort nicht wieder aktiviert.  Wer kann mir sagen was an meinem Code falsch ist? Wäre sehr dankbar für Hilfe!!
Hier der eingegebene Code:

Private Sub CommandButton1_Click()
'aktualisiert alle Pivot-Tabellen in der aktiven Datei
Dim ws                  As Worksheet
Dim pt                  As PivotTable
    For Each ws In ActiveWorkbook.Worksheets
        ws.Unprotect Password:="Mein Passwort"
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt
        Me.Protect Password:="Mein Passwort"
    Next ws
End Sub

Einen lieben Gruß sendet Sabine

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 04. Nov. 2011 12:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sabine21502 10 Unities + Antwort hilfreich

Wer ist Me. ? ;-)

[rredit] Wo sind nur meine Manieren? 
Willkommen im Forum! 
[/rredit]

------------------
Gruß,
runkelruebe          Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Nov. 2011 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sabine21502 10 Unities + Antwort hilfreich

Hi Sabine,

wo befindet sich dein CommandButton? Verwende am besten

Code:
ws.Protect Password:="Mein Passwort"

dann kann nichts schief gehen.

------------------
Bis später,
Karin

[Diese Nachricht wurde von Beverly am 04. Nov. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 04. Nov. 2011 14:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo runkelruebe.
Danke für den Willkommensgruß. Und danke für deine Reaktion auf meine Frage.
Wer Me. ist? Keine Ahnung. Zwar arbeite ich schon seit Jahrzehnten sehr gut mit Excel, aber den Bereich der CommandButton hatte ich in dieser Form noch nicht kennengelernt, mit also helfen lassen... Habe also getan was da stand... Aber Karins Hinweis hat mir weitergeholfen, nun taucht eine andere Frage auf...
Dir einen lieben Dank.
sabine

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 04. Nov. 2011 15:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Karin,
tatsächlich, es klappt. Vielen Dank.
Da ich bisher nie mit CommandButton gearbeitet habe, weiß ich leider nicht was die einzelnen Schritte im Code auslösen (naja, außer denen, die in ganzen Wörtern sprechen). Was also Me ws pt. bedeutet, weiß ich bis jetzt nicht, werde mich aber damit nun mehr beschäftigen!!!
Nachdem ich die Änderung eingetragen habe schaltete sich das Passwort tatsächlich wieder ein, allerdings ist nun die ganze Datei mit Passwort geschützt... Zum Hintergrund: Es gibt zwei Arbeitsblätter mit Eingabefeldern, die Eingaben ändern sich alle paar Tage. Die müssen also offen sein. Ans Ende der zwei Listen habe ich dann den Button gesetzt. Auf zwei anderen Blättern habe ich die jeweiligen Pivotauswertungen, diese beiden Blätter hatte ich mit Passwort geschützt. Und ganz zum Schluss gibt es noch die ausdruckbare Kurzübersicht der Ergebnisse...
Mit der Änderung schaltet sich also der Passwortschutz wieder ein, aber ich kann nun auch keine Eingaben mehr vornehmen javascript:InsertSMI(' %20'); Okay. Ist ja jetzt Wochenende, also keine Eingaben... Nee, im Ernst. Ich werde versuchen mich in die Frage einzuarbeiten: Wie schütze ich in diesem Code nur die beiden Blätter, nicht aber die ganze Datei. Macht mich neugierig. Und wenn ich keine Antwort darauf finde, dann komme ich gerne noch einmal ins Forum und stelle hier die Frage. Einverstanden?
Warst mir eine große Hilfe. Vielen Dank.
Lieben Gruß Sabine

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Nov. 2011 17:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sabine21502 10 Unities + Antwort hilfreich

Hi Sabine,

hier mal dein (korrigierter) Code mit einigen Kommentaren zum besseren Verständnis:

Code:
Private Sub CommandButton1_Click()
'aktualisiert alle Pivot-Tabellen in der aktiven Datei
Dim ws                  As Worksheet    ' Variable für das Tabellenblatt als Worksheet.Objekt
Dim pt                  As PivotTable  ' Variable für die Pivot-Tabelle als PivotTable-Objekt
    ' Schleife über alle Tabellenblätter der Arbeitsmappe
    For Each ws In ActiveWorkbook.Worksheets
        ' Schutz des gerade durchlaufenen Tabellenbattes aufheben
        ws.Unprotect Password:="Mein Passwort"
        ' Schleife über alle Pivot-Tabellen im gerade durchlaufenen Tabellenblattes
        For Each pt In ws.PivotTables
            ' Pivot-Tabelle aktualisieren
            pt.RefreshTable
        Next pt
        ' Schutz des gerade durchlaufenen Tabellenbattes setzen
        ws.Protect Password:="Mein Passwort"
    Next ws
End Sub

Jetzt sollte auch klar sein, weshalb alle Tabellenblätter (nicht die Arbeitsmappe!) nach Codedurchlauf geschützt sind. Du musst also noch eine If oder Select Case Anweisung einbauen, in welcher du den Namen des Tabellenblattes abfragst und wenn dieser mit dem zu schützenden übereinstimmt, dann den Schutz setzen (bzw. vorher auch aufheben).

Mit "Me" wird immer das Objekt angesprochen, auf welchem sich das Steuerelement befindet (bei ActiveX-Steuerelementen) - dein Ursprungscode bezog es sich also auf das Tabellenblatt, in welchem sich der CommandButton befindet und nur dieses wurde folglich geschützt und nicht die anderen Tabellenblätter.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 04. Nov. 2011 19:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sabine21502 10 Unities + Antwort hilfreich

ja,ja, ich weiss bin mal wieder viel zu spät ;-)

wozu Blattschutz aufheben ;-) unten stehender Code fingert nicht an irgendwelchen Blattschutz(~e(n))[~gibt es ein Plural von Blattschutz?  ] rum.

Code:
Sub test()
Dim ws As Worksheet
Dim pt As PivotTable
'ActiveSheet.Protect UserInterfaceOnly:=True    ' arbeitet auch in einem geschützten Arbeitsblatt

    For Each ws In ActiveWorkbook.Worksheets
      
        For Each pt In ws.PivotTables
            ws.Protect UserInterfaceOnly:=True   'ActiveSheet zu ws geändert, da ws variabel ist
            pt.RefreshTable
        Next pt

    Next ws

End Sub


Funktioniert einwandfrei mit der Formularschaltfläche (Makro zuweisen).
Mit dem CommandButton (die mag ich eh nicht so ;-)) kann er pt.RefreshTable nicht zuordnen 
Ein Zurücksetzen & manueller Durchlauf mit F8 geht aber... egal, ich mache jetzt Feierabend 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 04. Nov. 2011 22:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Karin,
danke für die Erklärungen, jetzt liest es sich doch gleich viel einfacher 
Dann werde ich mich noch tiefer einarbeiten und überlegen, welche Variante ich wähle: Commandbutton auf die zu schützdende Seite oder zusätzliche arbeitsblattbezogene Anweisung...
Werde mich jetzt eine längere Zeit zurück ziehen und mir diese Seite von Excel mal genauer ansehen. Ist immer wieder spannend eine neue Seite dieses Programms kennen zu lernen - wo ich doch immer dachte ich sei schon ganz gut damit zugange. Bin absolut neugierig.
Ich melde mich dann wieder.
Herzlichen Dank und einen lieben Gruß
Sabine

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 04. Nov. 2011 22:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

viel zu spät? neee.
So erfahre ich noch von einer weiteren Alternative... werde auch darüber nachdenken / daran arbeiten. Danke dir.
Vielen Dank und lieben Gruß
Sabine

Plural von Blattschutz könnte Blätterschützer sein 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sabine21502
Mitglied


Sehen Sie sich das Profil von Sabine21502 an!   Senden Sie eine Private Message an Sabine21502  Schreiben Sie einen Gästebucheintrag für Sabine21502

Beiträge: 6
Registriert: 04.11.2011

erstellt am: 07. Jan. 2012 23:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an alle die es interessiert, ich habe eine Lösung gefunden. (Ist schon etwas länger her, kam aber nie dazu euch zu informieren... sorry.)
In Excel gibt es über EXTRAS \ SCHUTZ die Möglichkeit einzelne Bereiche zu markieren, die bei einem Blattschutz ungeschützt bleiben. Wenn ich die Eingabebereiche so markiere, dann ist es vollkommen okay, dass über meinen Code alle Blätter komplett geschützt werden -  meine "ungeschützten" lassen weiterhin Eingaben zu. Nachdem ich dies verinnerlicht hatte, hörte ich mit meiner Suche auf (wollte ursprünglich den Code so ändern, dass Bereiche freigeschaltet bleiben).
Danke für eure Hilfe, ohne die hätte ich vorher schon aufgegeben.
Lieben Gruß
Sabine

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz