Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makros ausblenden

Makros ausblenden
27.06.2003 18:02:02
Achim
Hallo Leute,

ich mal wieder, hier gibt es so viele Profis :-))

Habe mein Programm fertig geschrieben. Habe 2 Arbeitsblätter, 1 Arbeitsblatt heißt „Auswertung“ und das andere „Berechnung“. Im Arbeitsblatt „Berechnung“ sind alle Formeln, die niemanden etwas angehen, daher habe ich dieses Blatt auch ausgeblendet. Wie erreiche ich es nun, dass weder die Makros angezeigt werden, noch der Code wenn ich in die Arbeitsmappe „Auswertung“ klicke und „Code anzeigen“ aktiviere?

Dürfte ja für euch nicht so schwer sein, oder ?

Gruß
Achim


Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makros ausblenden
27.06.2003 18:56:59
Chris

Hallo Achim,

Du kannst das VBAProjekt über Extras->Eigenschaften VBAProjekt mit einem Passwort versehen. Damit wird der Code erst nach eingabe des PW angezeigt und kann auch erst dann bearbeitet werden.

Grüße
Christian

Re: Makros ausblenden
27.06.2003 18:57:30
Klaus Schubert

Einfach abschalten geht meines Wissens nicht.

Du kannst aber im VBA-Modus dein Projekt mit einem Passwort schützen, so dass ein Benutzer, wenn er auf "Code anzeigen" klickt, ein Passwort eingeben muss, um den Code zu bearbeiten.

Das geht so: Im VBA-Modus das entsprechende Projekt im Projektfenster mit der rechten Maustaste anklicken und dann "Eigenschaften von VBA-Projekt ..."
Unter "Schutz" dann "Anzeige für Projekt sperren" anwählen, ein Passwort vergeben. Die Mappe speichern, einmal schließen und wieder Öffnen, der Schutz ist aktiv. das Projekt bzw. der Code darin kann jetzt nur noch mit Passwort bearbeitet werden.

Makros können jetzt zwar nicht mehr bearbeitet , aber noch ausgeführt werden.
Um diese nicht angezeigt zu bekommen , musst du die Sub's, die nicht sichtbar sein sollen, mit einem "Private" einschränken, also z.B. anstatt

dann so:


Der Nachteil dabei:Diese Sub's könne nur noch innerhalb des Moduls aufgerufen werden, in dem sie stehen. Mann kann also jetzt nicht von Modul2 den Code aus Modul1 aufrufen, sondern nur noch innerhalb von Modul1 oder innerhalb von Modul2.

Vielleicht hilft es dir ja.

Gruß Klaus


Anzeige
Re: Makros ausblenden
27.06.2003 18:59:16
th.heinrich

hallo Achim,

schuetze das VBA-PROJEKT.

gruss thomas


@alle
27.06.2003 19:26:17
Achim

Erst einmal herzlichen Dank für eure Hilfe. Den Code kann ich jetzt nur anzeigen lassen mit dem Kennwort, aber wie geht das mit den Makros, ich kann sie zwar ohne Passwort nicht bearbeiten, aber ausführen lassen. Das möchte ich aber nicht, da ein Makro das Ausblenden der Arbeitsmappe mit den Formeln ist.

Also, wie bekomme ich jetzt noch die Makros geschützt?

Gruß
Achim

Anzeige
Re: @alle
27.06.2003 19:28:45
Georg_Zi

Hallo Achim

schreib im Modul als erste Zeile

Option Private Module
Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
Re: @Georg
27.06.2003 19:43:28
Achim


Hallo Georg,

bin ein absolutes Greenhorn :-((

Könntest Du mir bitte genau erklären wie ich das mache, bitte.

Ich habe das natürlich da eingefügt, wo die Makros sind, aber ich bekomme dann die Fehlermeldung: Option Private-Modul ist in einem Objektmodul nicht möglich.

Siehst Du, ich bin nun mal ein bisschen blöd.

Gruß
Achim

Anzeige
Re: @Georg
27.06.2003 19:51:34
Georg_Zi

Hallo Achim

in meiner Antwort ist kein "-"

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Anzeige
Re: @Georg
27.06.2003 19:57:44
Achim

Hallo Georg,

das "-" gebe ich ja auch garnicht ein, sondern: Option Private Module.

Ich bekomme dann aber die Fehlermeldung: Option Private-Modul ist in einem Objektmodul nicht möglich.

Gruß
Achim

Re: @Georg
27.06.2003 19:59:41
Georg_Zi

Hallo Achim

Du gibst es als erste Zeile im Modul ein??

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Anzeige
Re: @Georg
27.06.2003 20:04:13
Achim

Richtig Georg, dort wo meine ganzen Makros stehen, sie stehen ja untereinandner nur durch einen Strich getrennt, und da eben gebe ich Deine Zeile als erste Zeile ein und erhalte die Fehlermeldung.

Gruß
Achim


Re: Private Module
27.06.2003 20:07:31
Georg_Zi

Hallo Achim

ich habe meine 2000 Version gelöscht. Da habe ich leider keine Idee mehr. Bei meiner jetzigen Version geht es Fehlerfrei.

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Anzeige
Re: Private Module
27.06.2003 20:10:26
Achim


Danke Georg,

da kann man nichts machen, aber vielleicht weiß ja jemand anderes wie ich das managen kann.

Gruß
Achim

Re: Private Module
27.06.2003 20:12:48
Georg_Zi

Hallo Achim

mache es umständlich und schreibe nicht
Sub BlaBla()
sondern
Private Sub BlaBla()

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
Re: Private Module
27.06.2003 20:23:36
Achim


Super Idee,

aber wenn die dann aufgerufen werden, gibt es glaube ich eine Fehlermeldung.

Ich werde mal sehen, wie ich das mache.

Nochmals Danke für Deine Mühe und einen schönen Abend noch
Gruß
Achim

Fehlermeldung
27.06.2003 20:56:50
ChristianG

Hallo Achim,

Du schreibst:
"Ich bekomme dann aber die Fehlermeldung: Option Private-Modul ist in einem Objektmodul nicht möglich."

Das hört sich an, als wären Deine Makros in einer UserForm oder Tabelle (Objektmodule). Soweit ich weiß funktioniert "Option Private Module" nur in einem Standard-Modul.

Wenn die Makros in einer Tabelle stehen, dann kannst Du sie in ein Modul kopieren. Da funktioniert dann auch "Option Private Module".

Gruß
Christian

Anzeige
Re: Private Module
27.06.2003 22:22:43
Jens_Pu

Hallo Achim,

ich verwende oft eine Variante von Hajo's Vorschlag.

Sub blabla(dummytrue as Boolean)

Der Aufruf erfolgt dann zwar mit Call blabla(True), aber das Makro ist für den Anwender unter Makros nicht mehr sichtbar, kann aber trotzdem überall im Projekt benutzt werden.

Gruss Jens

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makros ausblenden in Excel


Schritt-für-Schritt-Anleitung

  1. VBA-Projekt schützen:

    • Öffne den Visual Basic for Applications (VBA)-Editor (ALT + F11).
    • Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster.
    • Wähle „Eigenschaften von VBA-Projekt…“ aus.
    • Gehe zum Tab „Schutz“ und aktiviere die Option „Anzeige für Projekt sperren“.
    • Vergib ein Passwort und speichere die Arbeitsmappe. Schließe den VBA-Editor.
  2. Makros privat machen:

    • Um ein Makro privat zu gestalten, ändere die Sub-Prozedur in der Form:
      Private Sub BlaBla()
      ' Dein Code hier
      End Sub
    • Dies stellt sicher, dass das Makro nur innerhalb des Moduls aufgerufen werden kann.
  3. Testen:

    • Schließe die Arbeitsmappe und öffne sie erneut, um sicherzustellen, dass der Schutz aktiv ist.

Häufige Fehler und Lösungen

  • Fehlermeldung: „Option Private-Modul ist in einem Objektmodul nicht möglich“:

    • Stelle sicher, dass deine Makros in einem Standardmodul (nicht in einer UserForm oder Tabelle) sind. Du kannst die Makros einfach in ein neues Modul kopieren.
  • Makros sind trotzdem sichtbar:

    • Überprüfe, ob du die Sub-Prozeduren korrekt als „Private“ deklariert hast.
  • Makro kann nicht aufgerufen werden:

    • Wenn du ein „Private Sub“ verwendest, kann es nur innerhalb des Moduls aufgerufen werden. Stelle sicher, dass du den richtigen Aufruf verwendest.

Alternative Methoden

  • Verwendung von Dummy-Argumenten:
    • Du kannst die Sichtbarkeit eines Makros erhöhen, indem du es als Funktion mit Dummy-Argumenten deklarierst:
      Sub blabla(dummytrue As Boolean)
      ' Dein Code hier
      End Sub
    • Dies macht das Makro für den Anwender unter „Makros“ nicht sichtbar, es kann jedoch überall im Projekt verwendet werden.

Praktische Beispiele

  • Makro zum Ausblenden eines Arbeitsblattes:

    Sub HideSheet()
      Sheets("Berechnung").Visible = False
    End Sub
  • Makro zum Ausblenden aller Makros für den Benutzer:

    Private Sub MyPrivateMacro()
      ' Dein Code hier
    End Sub

Tipps für Profis

  • Nutze den Schutz des Projekts: Schütze dein VBA-Projekt mit einem starken Passwort, um unbefugten Zugriff zu verhindern.
  • Organisiere deine Module: Halte deine Makros in Standardmodulen, um die Verwendung von „Option Private Module“ zu ermöglichen.
  • Testen auf verschiedenen Excel-Versionen: Sei dir bewusst, dass einige Funktionen in älteren Versionen möglicherweise nicht verfügbar sind.

FAQ: Häufige Fragen

1. Wie kann ich meine Makros am besten vor anderen Benutzern schützen? Du kannst das VBA-Projekt mit einem Passwort schützen und die Makros als „Private“ deklarieren.

2. Funktioniert „Option Private Module“ bei allen Excel-Versionen? „Option Private Module“ funktioniert nur in Standardmodulen und ist möglicherweise nicht in älteren Excel-Versionen oder in Objektmodulen verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige