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

Forumthread: Bestimmte Makros funktionieren nur beim "Besitzer"

Bestimmte Makros funktionieren nur beim "Besitzer"
25.03.2015 10:58:46
Thomas
Guten Morgen zusammen,
ich hab da mal ne Frage, und zwar hab ich folgenden Code in der Tabelle:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(False, False) = "I7" Or Target.Address(False, False) = "I12" Or Target. _
Address(False, False) = "I17" Or Target.Address(False, False) = "I22" Or Target.Address(False, False) = "I27" Or Target.Address(False, False) = "I32" Then
Selection.FormulaR1C1 = ChrW(10010)
End If
If Target.Address(False, False) = "K7" Or Target.Address(False, False) = "K12" Or Target. _
Address(False, False) = "K17" Or Target.Address(False, False) = "K22" Or Target.Address(False, False) = "K27" Or Target.Address(False, False) = "K32" Then
Selection.FormulaR1C1 = ChrW(9733)
End If
If Target.Address(False, False) = "L7" Or Target.Address(False, False) = "L12" Or Target. _
Address(False, False) = "L17" Or Target.Address(False, False) = "L22" Or Target.Address(False, False) = "L27" Or Target.Address(False, False) = "L32" Then
Selection.FormulaR1C1 = ChrW(10132)
End If
If Target.Address(False, False) = "M7" Or Target.Address(False, False) = "M12" Or Target. _
Address(False, False) = "M17" Or Target.Address(False, False) = "M22" Or Target.Address(False, False) = "M27" Or Target.Address(False, False) = "M32" Then
Selection.FormulaR1C1 = ChrW(9679)
End If
End Sub
Funktioniert auch super, aber seit neuestem haben wir bei einem Mitarbeiter ein Problem, wenn er die Datei zuletzt gespeichert hat, funktioniert der Code zwar bei ihm, aber öffnet es ein anderer Benutzer, funktioniert der Code nicht, es gibt keine Fehlermeldung oder so, es passiert einfach nur nix, erstellt man im selben Dokument eine neue Tabelle und kopiert den Code 1:1 in die neue Tabelle, dann funktioniert der Code.
Alle anderen Makros des Dokuments funktionieren bei den anderen Leuten auch, nur dieser nicht.
Woran könnte das liegen ?
Ich vermute ja mal dass es irgendwas mit seinen Excel Einstellungen zu tun hat, kann den Punkt aber nicht finden.
Zusätzliche Infos
Alle Benutzer haben Excel 2013 drauf und auch bei 2010 geht es nicht.
Bisher hat es immer funktioniert, vor kurzem wurde bei ihm Excel 2013 installiert und wohl erst seit dem Zeitpunkt diese Problematik.
Vielen dank schon mal für jede Hilfe :)

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Makros funktionieren nur beim "Besitzer"
26.03.2015 20:32:46
fcs
Hallo Thomas,
ich hab mal ein wenig experimentiert, aber auch nichts gefunden.
Mein Haupt-Verdächtiger war die Option Formeln-Z1S1-Bezusart. Aber da ergaben sich zumindest bei mir keine Probleme. Andere tabelleblatt-spezifische Optionen haben keinen Einfluss auf die Zellselektion und ausgelöste Makros.
Werden die Makros gar nicht gestartet (Testen mit im VBA-Editor gesetzten Haltepunkt) oder laufen "nur" die If-Prüfungen ins Leere, weil die Bedingungen nicht erfüllt werden?
Ansonsten solltest du das Makro in eine der beiden folgenden, übersichtlicheren Formen ändern.
Bei der Prüfung der Address-Eigenschaft hab ich auch den 3. Parameter xlA1 angegeben, obwohl dies der Standardwert ist. Ich persönlich bevorzuge die Variante in der nur mit den Nummern der Zeilen und Spalten gearbeitet wird. da gibt es die wenigsten unliebsamen Überraschungen.
Gruß
Franz
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
Select Case .Address(False, False, xlA1)
Case "I7", "I12", "I17", "I22", "I27", "I32"
.Value = ChrW(10010)
Case "K7", "K12", "K17", "K22", "K27", "K32"
.Value = ChrW(9733)
Case "L7", "L12", "L17", "L22", "L27", "L32"
.Value = ChrW(10132)
Case "M7", "M12", "M17", "M22", "M27", "M32"
.Value = ChrW(9679)
End Select
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .Cells.Count = 1 Then
Select Case .Row
Case 7, 12, 17, 22, 27, 32
Select Case .Column
Case 9 'Spalte I
.Value = ChrW(10010)
Case 11 'Spalte K
.Value = ChrW(9733)
Case 12 'Spalte L
.Value = ChrW(10132)
Case 13 'Spalte M
.Value = ChrW(9679)
End Select
End Select
End If
End With
End Sub

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

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