Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten nur für Bestimmte sichtbar

Spalten nur für Bestimmte sichtbar
28.06.2020 16:53:20
Anna
Hoi,
ich habe eine Excel-Tabelle erstellt, wo mehrere Leute aufgeführt werden. Die unterschiedlichen Leute haben jeweils auch unterschiedliche Benutzerzugänge. Ich möchte gerne selbst die komplette Tabelle sehen können, die einzelnen Benutzer sollen aber jeweils nur "ihre" Spalten sehen und bearbeiten können (bspw. Benutzer A: A1 bis BZ3, Benutzer B: A4 bis BZ6). Das ganze soll sich auf alle Arbeitsblätter beziehen. Ich hoffe, man kann ungefähr verstehen, was ich meine..
Ich hab da mal was probiert, aber das ist ziemlich falsch..
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Range("A1").Select
With Each Sh In ThisWorkbook.Worksheets
Sheets("").Unprotect Password:="xxxx"
Select Case Environ$("UserName")
Case "benutzerA", "benutzerB"
Columns("A1:AZ5").Hidden = False
Case Else
Columns("A10:AZ11").Hidden = True
End Select
Columns("N:Z").Hidden = True
Sheets("").Protect userinterfaceonly:=True, Password:="xxxx"
End With
End Sub

Vielen Dank für Eure Hilfe! :)
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten nur für Bestimmte sichtbar
28.06.2020 19:27:32
AlterDresdner
Hallo Anna,
folgender Code tut (ungetestet) für alle Blätter Folgendes:
alle Spalten sichtbar, für BenutezrA und ...B Spalten A:AZ ausblenden
Private Sub Workbook_Open()
Dim sh
Const Pwd = "xxxx"
Application.ScreenUpdating = False
Range("A1").Select
For Each sh In ThisWorkbook.Worksheets
With sh
.Unprotect Password:=Pwd
.Columns.Hidden = False 'alle Spalten einblenden
Select Case Environ$("UserName")
Case "benutzerA", "benutzerB"
.Columns("A:AZ").Hidden = True 'bestimmte ausblenden
Case Else
End Select
.Protect userinterfaceonly:=True, Password:=Pwd
End With
Next sh
Application.ScreenUpdating = True
End Sub

Gruß der AlteDresdner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalten nur für bestimmte Benutzer sichtbar machen


Schritt-für-Schritt-Anleitung

Um in Excel bestimmte Spalten nur für bestimmte Benutzer sichtbar zu machen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf „VBAProject (DeineDatei.xlsx)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere und füge den folgenden Code ein:

    Private Sub Workbook_Open()
        Dim sh As Worksheet
        Const Pwd As String = "xxxx" ' Passwort anpassen
        Application.ScreenUpdating = False
    
        For Each sh In ThisWorkbook.Worksheets
            With sh
                .Unprotect Password:=Pwd
                .Columns.Hidden = False ' Alle Spalten einblenden
    
                Select Case Environ$("UserName") ' Benutzername abfragen
                Case "benutzerA", "benutzerB"
                    .Columns("A:AZ").Hidden = True ' Bestimmte Spalten ausblenden
                Case Else
                    ' Hier können weitere Anpassungen vorgenommen werden
                End Select
    
                .Protect userinterfaceonly:=True, Password:=Pwd
            End With
        Next sh
    
        Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und speichere die Datei als „Excel-Makro-enabled Workbook (*.xlsm)“.

  5. Teste die Funktion, indem du die Datei schließt und erneut öffnest. Die Benutzer sollten nur die für sie sichtbaren Spalten sehen.


Häufige Fehler und Lösungen

  • Fehler: Spalten werden nicht angezeigt.

    • Lösung: Stelle sicher, dass der Benutzername korrekt in der Select Case-Anweisung eingetragen ist.
  • Fehler: Die Tabelle ist immer noch sichtbar für andere Benutzer.

    • Lösung: Überprüfe, ob das Passwort korrekt eingegeben wurde und die Blätter richtig geschützt sind.

Alternative Methoden

Wenn du keine VBA-Codes verwenden möchtest, kannst du auch die Funktion „Blattschutz“ nutzen. Hierbei kannst du die Sichtbarkeit von Zellen und Spalten steuern, indem du:

  1. Das Arbeitsblatt schützt mit einem Passwort.
  2. Bestimmte Zellen oder Bereiche sperrst und den Zugriff darauf einschränkst.

Allerdings bietet diese Methode nicht die Flexibilität, verschiedene Benutzer unterschiedlich zu behandeln.


Praktische Beispiele

Angenommen, du hast eine Excel-Tabelle, die die Verkaufszahlen von verschiedenen Mitarbeitern zeigt. Du möchtest, dass:

  • Mitarbeiter A nur die Spalten A bis D sieht.
  • Mitarbeiter B die Spalten E bis H sieht.

Verwende den oben genannten VBA-Code und passe die Case-Anweisungen entsprechend an:

Case "MitarbeiterA"
    .Columns("E:H").Hidden = True

Tipps für Profis

  • Wenn du die Sichtbarkeit von Zellen in Excel effektiv steuern möchtest, ist es hilfreich, eine klare Struktur in deinem Code zu haben. Verwende Kommentare, um die Funktionsweise zu erläutern.
  • Verwende die UserForms in VBA, um eine benutzerfreundliche Oberfläche für die Eingabe von Zugangsdaten zu erstellen.
  • Denke daran, regelmäßig Backups deiner Arbeitsblätter zu erstellen, insbesondere wenn du mit VBA arbeitest.

FAQ: Häufige Fragen

1. Kann ich auch Zellen unsichtbar machen?
Ja, du kannst Zellen unsichtbar machen, indem du deren Eigenschaften änderst. Zum Beispiel kannst du die Zellenfarbe auf „weiß“ setzen, was sie für Benutzer unsichtbar macht.

2. Funktioniert dieses Skript in jeder Excel-Version?
Der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und später) funktionieren, jedoch kann es kleine Unterschiede in der Benutzeroberfläche geben.

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