Excel-Spalte ausblenden?

Liebe Leute,

wo ich doch schon mal fresh Mitglied bin bei diesem super-tollen Forum, würde ich gerne noch eine Frage loswerden, mit der Hoffnung auf eine Antwort.

Wie kann ich in Excel eine Spalte ausblenden und einem Anwender verbieten diese einzublenden? Kurz: Ich möchte die „einblende-Funktion“ für den Anwender deaktivieren…

Ich habe jetzt schon ein passendes Makro gefunden, nur habe ich das Problem, dass diese Funktion für alle vorhandenen Excel Dateien auf meinem PC übernommen wird d.h. alle meine Tabellen übernehmen diese Deaktivierungsfunktion, doch ich möchte diese Funktion nur auf eine Excel Datei anwenden?

Kann mir da vielleicht jemand weiterhelfen?

Lg

Aleyna

Hallo Aleyna,

Wie kann ich in Excel eine Spalte ausblenden und einem
Anwender verbieten diese einzublenden? Kurz: Ich möchte die
„einblende-Funktion“ für den Anwender deaktivieren…

das klappt aber nur bei Normalanwendern, ich blende mir die Spalte per Vba wieder ein.
(In Excel kann man nix wirklich schützen)

Ich habe jetzt schon ein passendes Makro gefunden,

Zeige bitte den Code des Makros.

nur habe
ich das Problem, dass diese Funktion für alle vorhandenen
Excel Dateien auf meinem PC übernommen wird d.h. alle meine
Tabellen übernehmen diese Deaktivierungsfunktion, doch ich
möchte diese Funktion nur auf eine Excel Datei anwenden?

Dein Makro kann ich dahingehend schon umstricken.
Ein Problem bleibt, was machste wenn dein Anwender die makros beim Start nicht aktiviert?
Dann kann er wie gewohnt die Spalte übers Menu einblenden.

Man muß ihn also zwingen dies zu tun, dies geht schon.
Ein Manko bleibt.
Du mußt ja deinen Vba-Code mit einem Passwort schützen sodaß keiner deinen Code ansehen kann und/oder selbst Vba-Code eingeben kann der die Spalten wieder sichtbar macht.

Nur wenn der Anwender weiß wie man diesen passwortschutz beseitigt, tja nun…

Egal, für Normalanwender, wenn du Interesse daran hast wie man den Anwender zwingt Makros beim Start zu aktivieren dann sag mir das.

Gruß
Reinhard

Hi,

also spontan fällt mir da ne Lösung ein, die auch ohne VBA funktioniert.
Hoffe das bringt Dich zum Ziel:

  1. Strg+A (alle Zellen markieren)
    Rechtsklick auf eine Zelle
    Zellen formatieren …
    Schutz
    Gesperrt&Ausgeblendet -> deaktivieren

  2. Gewünschte Spalte zum ausblendet markieren
    Rechtsklick auf Spaltenkopf
    Zellen formatieren …
    Schutz
    Gesperrt&Ausgeblendet -> aktivieren

  3. Spalte markieren
    Rechtsklick
    Ausblenden

  4. Extras
    Schutz
    Blatt schützen …
    Gesperrte + nicht gesperrte Zellen auswählen -> Häkchen
    Kennwort

Fertig. Alle Zellen ausser der Ausgeblendeten Zeile können bearbeitet werden. Es ist so weit ich weiß ohne Kennwort (zumindest nicht ohne Weiteres) nicht möglich diese wieder einzublenden.

Hoffe ich konnte Dir helfen …

Gruß,
Luke

Hey Luke,

vielen Dank für die soooo schnelle Antwort.

Ich werde ausprobieren, aber leider erst morgen, denn ich arbeite erst morgen und hätte nie gedacht das ich so schnell eine Antwort bekomme:smile:

Vielen lieben Dank nochmal

Lg

Aleyna

Hallo Reinhard,

danke für die schnelle Hilfe. Ich werde es ausprobieren, aber leider erst morgen, da ich heute nicht arbeite:smile:. Wenns nicht klappen sollte werde ich mich sicherlich nochmal melden:wink:

Vielen lieben Dank.

Lg

Aleyna

Ich werde es ausprobieren, aber
leider erst morgen, da ich heute nicht arbeite:smile:. Wenns nicht
klappen sollte werde ich mich sicherlich nochmal melden:wink:

hallo Aleyna,

was willst du ausprobieren *irritiert schau :smile:)*

Gruß
Reinhard

Excel-Vba Einblenden von Spalten verhindern

Ich habe jetzt schon ein passendes Makro gefunden, nur habe
ich das Problem, dass diese Funktion für alle vorhandenen
Excel Dateien auf meinem PC übernommen wird d.h. alle meine
Tabellen übernehmen diese Deaktivierungsfunktion, doch ich
möchte diese Funktion nur auf eine Excel Datei anwenden?

Hallo Aleyna,

im Editor Doppelklick auf „DieseArbeitsmappe“, Code einfügen.
Dann Rechtsklick auf den Projektnamen (=dateinamen)—Eigenschaften und vergib ein Kennwort um den Code zu schützen.

Private Sub Workbook\_Activate()
Call Menue\_aktivieren
End Sub

Private Sub Workbook\_BeforeClose(Cancel As Boolean)
Call Menue\_deaktivieren
End Sub

Private Sub Workbook\_Open()
Call Menue\_aktivieren
End Sub

Private Sub Workbook\_WindowActivate(ByVal Wn As Window)
Call Menue\_aktivieren
End Sub

Private Sub Workbook\_WindowDeactivate(ByVal Wn As Window)
Call Menue\_deaktivieren
End Sub

Das Ganze bezieht sich auf die beiden Prozeduren in einem Standardmodul:

Sub Menue\_aktivieren()
'887="Einblenden" als Unterpunkt bei Spaltenmenues
Dim myControl As CommandBarButton
For Each myControl In Application.CommandBars.FindControls(ID:=887)
 myControl.Enabled = True
Next
End Sub
'
Sub Menue\_deaktivieren()
Dim myControl As CommandBarButton
For Each myControl In Application.CommandBars.FindControls(ID:=887)
 myControl.Enabled = False
Next
End Sub

Gruß
Reinhard

Hi Reinhard,

zunächst einmal 'ne nette Lösung! Und für mich eine Wissensbereicherung - also auch von mir: Danke!
Dennoch sehe ich hier einige Probleme:

  1. User können ohne großen Aufwand Menue_aktivieren() (wo ist dann der Sinn der Sache? Das ist ja das eigentliche Problem.)
  2. Die Änderungen gelten für alle Spalten aller Blätter aller in dieser Instanz geöffneten Dateien (das ist doch genau das, was ebenso verhindert werden sollte?)
  3. Wird Excel unsachgemäß geschlossen, wirkt sich der ausgeblendete Menüpunkt auf alle Nachfolger aus (die zusätzlich evtl. das Script zu Deaktivierung gar nicht implementieren), da Workbook_BeforeClose nicht aufgerufen wird.
  4. Das generelle VBA-Problem - Makros können deaktiviert werden. Unbedarfte User klicken selten auf „Aktivieren“, denn wenn man sich nicht auskennt, kann ein Satz wie „Makros können Viren enthalten. Es ist gewöhnlich sicherer Makros zu deaktivieren“ Panik auslösen.

Man kann das Problem mit Excel-Mitteln lösen (ob hinreichend für Aleyna’s Problem ist ne andere Frage …) , ohne die obigen Probleme zu haben. Warum immer VBA, wenn’s auch mit Standard-Bordmitteln geht?

Gruß,
Lukas