Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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 :)

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige