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

Forumthread: Funktion geht nicht im Freigegebenen Mod

Funktion geht nicht im Freigegebenen Mod
12.09.2022 10:17:32
Alex
Hallo Leute!
Ich habe ein Problem mit einer Funktion. Diese arbeitet nicht wenn ich die Arbeitsmappe für andere Benutzer freigebe (Arbeitsmappe teilen).
Kann mir hier wer helfen? Die Funktion soll eine bestimmte Farbe in einem Bereich mit ein paar Bedingungen zählen.

Function CountCcolor(range_data As Range, criteria As Range, Funktion As Range) As Long
Dim datax As Range
Dim dataLegend As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor And Cells(datax.Row, 3).Text = Funktion And Not datax.Text = "U"
CountCcolor = CountCcolor + 1
End If
Next datax
End Function
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 11:04:51
ChrisL
Hi Alex
Ich gehe davon aus, dass die Anzeige in "Excel Online" erfolgt, wo keine Makros verwendet werden können. Also nicht primär ein Problem der Freigabe, sondern vom ausführenden Programm.
Man könnte über die Schnellzugriffe die alte Methode zur Freigabe aktivieren (Schnellzugriffe, Arbeitsmappe teilen (Legacy)).
Übrigens fehlt im Code ein "Then".
cu
Chris
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 12:17:41
Alex
Hallo Chris!
Danke für deine schnelle Rückmeldung :)
Eigentlich will ich diese Excel-Liste für mehrere Benutzer freigeben da an dieser immer mehr Personen arbeiten. Diese mache ich auch über "Arbeitsmappe teilen (Legacy). Leider funktioniert dann eben diese Funktion nicht mehr :(
PS.: Das Then hab ich beim kürzen der Anweisung unabsichtlich entfernt..
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 12:46:25
ChrisL
Hi Alex
Ich lasse offen, da ich den Fehler nicht reproduzieren kann.
Es gibt zwar Features, welche bei freigegebenen Mappen nicht funktionieren. Siehe MS-Webseite:
Informationen zum Feature "Freigegebene Arbeitsmappe"
Features die manuell nicht funktionieren, funktionieren auch per VBA nicht. Aber der aufgezeigte Code-Schnipsel unterliegt m.E. keiner Einschränkung.
cu
Chris
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 13:24:49
Alex
Hallo Chris!
Also bei mir kommt, nachdem ich die Arbeitsmappe freigegeben und erneut öffne, der Fehler "Projekt gesperrt: Projekt kann nicht angezeigt werden" und anschließend "Fehler beim Kompilieren: Automatisierungsfehler, Schwerwiegender Fehler"
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 13:37:15
Daniel
Hi
Sobald die Datei freigegeben ist, kann man Makros nur noch anwenden. (wobei sie dann so programmiert sein müssen, dass sie nur Aktionen durchführen, die im freigegebenen Modus erlaubt sind)
Um den Code anzuzeigen oder gar zu bearbeiten, muss man wieder auf den normalen Einzelbearbeitungsmodus zurückschalten.
Gruß Daniel
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 14:02:24
Alex
Hallo Daniel!
Das verstehe ich ja soweit. Mein Problem eben ist, dass das Makro (Code siehe bei meinem ersten Eintrag) im "normalen" Betrieb super funktioniert, sobald ich jedoch die Arbeitsmappe "freigebe" diese nicht richtig abgearbeitet werden und die bei meinem letzten Eintrag angeführten Fehlern. Vielleicht fällt dir auf welcher Befehl daraus im Freigabe-Modus nicht erlaubt sind.
DANKE :)
Anzeige
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 14:08:21
Alex
Hab jetzt nochmal probiert die Funktion zu bestätigen wenn ich die Arbeitsmappe geteilt habe. Dann kommt der Fehler "Arrays können in freigegebenen Arbeitsmappen nicht bearbeitet oder gelöscht werden". Ich verwende doch die Arrays (range) nur in der Funktion...?
AW: Funktion geht nicht im Freigegebenen Mod
12.09.2022 14:34:52
ChrisL
Hi
- aktualisiere mit F9, dann hast du das Array-Problem nicht
- Hinweis: VBA Projekt kann nicht angezeigt werden: siehe Antwort Daniel
- Kompilierungsfehler: Klingt bedrohlich, aber die VBA Funktion rechnet bei mir trotzdem. Trotzdem unschön und ich wüsste auch nicht, wie man Fehler abschalten könnte.
Alles in allem finde ich die Lösung auch nicht befriedigend, aber ist wie es ist.
cu
Chris
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
Anzeige

Infobox / Tutorial

Probleme mit Funktionen in freigegebenen Excel-Arbeitsmappen lösen


Schritt-für-Schritt-Anleitung

  1. Freigeben der Arbeitsmappe: Gehe zu Überprüfen und klicke auf Arbeitsmappe freigeben (Legacy). Achte darauf, dass die Funktion in Excel nicht ausgegraut ist.

  2. Funktion erstellen: Verwende den Code für die Zählfunktion, um Farben zu zählen. Hier ein Beispiel:

    Function CountCcolor(range_data As Range, criteria As Range, Funktion As Range) As Long
       Dim datax As Range
       Dim xcolor As Long
       xcolor = criteria.Interior.ColorIndex
       For Each datax In range_data
           If datax.Interior.ColorIndex = xcolor And Cells(datax.Row, 3).Text = Funktion And Not datax.Text = "U" Then
               CountCcolor = CountCcolor + 1
           End If
       Next datax
    End Function
  3. Speichern und Testen: Speichere die Arbeitsmappe und teste die Funktion in einer nicht freigegebenen Umgebung, um sicherzustellen, dass sie funktioniert.

  4. Freigeben und Überprüfen: Nachdem die Funktion getestet wurde, gib die Arbeitsmappe frei und stelle sicher, dass alle Benutzer Zugriff haben.


Häufige Fehler und Lösungen

  • Fehler: "Dieser Befehl ist bei freigegebenen Dateien nicht verfügbar"
    Dieser Fehler tritt auf, wenn du versuchst, Funktionen zu verwenden, die im Freigabemodus nicht unterstützt werden. Überprüfe, ob die Funktionalität tatsächlich im Freigabemodus erlaubt ist.

  • Arbeitsmappe nicht mehr teilen ausgegraut
    Wenn die Optionen zum Teilen der Arbeitsmappe ausgegraut sind, könnte dies daran liegen, dass die Datei bereits in einem freigegebenen Modus ist. Wechsle zurück in den Einzelbearbeitungsmodus, um die Freigabe zu beenden.

  • Makros funktionieren nicht
    Achte darauf, dass deine Makros so programmiert sind, dass sie im freigegebenen Modus operieren können. Das bedeutet, sie dürfen keine Operationen beinhalten, die in einer freigegebenen Arbeitsmappe nicht erlaubt sind.


Alternative Methoden

  • Excel Online verwenden: Wenn du die Arbeitsmappe in Excel Online verwendest, sind viele VBA-Funktionen nicht verfügbar. Nutze stattdessen die Desktop-Version von Excel, um die volle Funktionalität zu gewährleisten.

  • Über Schnellzugriffe: Du kannst die alte Methode zur Freigabe aktivieren, indem du die Schnellzugriffe anpasst und die Option Arbeitsmappe teilen (Legacy) auswählst.


Praktische Beispiele

  1. Zählen von Zellen mit bestimmten Farben: Nutze die oben genannte Funktion, um Zellen mit einer bestimmten Hintergrundfarbe zu zählen. Teste die Funktion in einer nicht freigegebenen Umgebung, bevor du die Arbeitsmappe teilst.

  2. Kombinieren von Daten: Erstelle eine neue Arbeitsmappe und importiere die benötigten Daten in eine einzige Arbeitsmappe. So kannst du die Daten in der freigegebenen Arbeitsmappe leichter verwalten.


Tipps für Profis

  • Regelmäßige Sicherungen: Mache regelmäßige Sicherungen deiner Arbeitsmappe, bevor du sie freigibst, um im Falle eines Fehlers die Daten wiederherstellen zu können.

  • Versionskontrolle: Verwende eine Versionskontrolle, wenn mehrere Benutzer an einer Arbeitsmappe arbeiten. Dies hilft, Änderungen nachzuvollziehen und Konflikte zu vermeiden.

  • Freigabe-Optionen verstehen: Mache dich mit den verschiedenen Freigabe-Optionen in Excel vertraut, um die bestmögliche Lösung für deine Anforderungen zu finden.


FAQ: Häufige Fragen

1. Warum kann ich meine Excel-Arbeitsmappe nicht freigeben?
Wenn die Option zum Freigeben ausgegraut ist, stelle sicher, dass du die Arbeitsmappe nicht bereits in einem freigegebenen Modus geöffnet hast.

2. Was kann ich tun, wenn Makros in freigegebenen Arbeitsmappen nicht funktionieren?
Überprüfe deinen Code und stelle sicher, dass er keine Funktionen verwendet, die im freigegebenen Modus nicht unterstützt werden. Es könnte nötig sein, den Code anzupassen, um die Kompatibilität sicherzustellen.

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