Clever-Excel-Forum

Normale Version: VBA/VB Code für Excel Einstellung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

bevor man Excel nutzt, sollte man über Datei/Optionen/Erweitert die Einstellung erfahren; da der User gerne dort eine oder andere Einstellung anpasst.

Ich bin auf der Suche nach  VBA-/VB-Code, um diese Einstellungen von Excel aufzulisten
kennt jemand so ein VBA/VB?

Danke für Hilfe
t
Hallo!

Welche Einstellungen genau? Was genau hast Du vor? Nicht alle Einstellungen lassen sich per VBA beeinflussen. Manche Einstellungen werden in der Registrierungsdatenbank abgelegt, und in fremden Excel-Optionen hat man nichts zu suchen solange der Anwender seine Zustimmung dazu nicht gibt.

Aus- und Einblenden von Gitternetzlinien oder Zeilen- und Spaltenüberschriftern z.B. kannst Du per VBA aufzeichnen. Damit suchst Du dann in Google nach weiteren Möglichkeiten.

Gruß, René
Hallo,

wenn Du nach den Administrativen Vorlagen für die entsprechende Office-Version suchst, findest Du eine Excel-Datei (Englisch),
die (fast) alle Einstellungen beinhaltet. Die überwiegende Anzahl der Einstellungen verteilt sich in der Registry, manche nur per
Admin-Zugriff.

Grundsätzlich stimme ich allerdings mumpel zu: nichts ist für den User schlimmer, wenn seine Einstellungen verändert werden
und z.B. nicht zurückgesetzt werden. Tut das Deine Anwendung, also die Einstellungen zurückzusetzen, stürzt aber mal z.B.
vor dem Zurücksetzen ab, kannst Du in der Regel davon ausgehen, dass der User Deine Anwendung nicht mehr nutzen wird.
Das zuvor gesagte bezieht sich darauf, dass es andere User sind, also nicht Du selbst.

Gruß
Hi
Danke für die Rückmeldung

sehr oft führen von Usern erstellen Excel-Tabellen beim Öffnen zu ernsthaften Problemen, weil sie in unterschiedlichen Windows (DE/EN/FR) und Excel (356, 2019, 2016, 2010 DE/EN/FR) erstellt wurden und Formel beinhalten.

Wenn der User per VBA den Hinweis kriegt, kann er selbst entscheiden was zu tun wäre bzw. nach Hilfe suchen.

es sind zwei Optionen betroffen: Erweiter und Formeln; ich könnte per Powershell die Registry Einstellung auch abfragen

gruß
T
Hallo,

wäre vielleicht gut, wenn Du die "Probleme" näher beschreiben könntest. Zwischen unterschiedlichen Excel-Versionen kann es z.B. Probleme geben,
wenn die eine Version eine Funktion der anderen Version nicht kennt. Probleme durch verschiedene Sprachen sind meist selbst verursacht.

Gruß
(02.11.2021, 08:12)Tom2020 schrieb: [ -> ]Es sind zwei Optionen betroffen: Erweitert und Formeln.

Hallo, 19 

da kannst du einiges mit dem Makrorekorder rausbekommen. Einfach den Rekorder anwerfen und eine Einstellung verändern. Dann siehst du wie sie benannt wird.

Damit gehst du dann entweder im VBA-Editor mit F2 in den Objektkatalog und suchst danach, oder du schaust im Objektmodell nach. 21

Nehmen wir mal an aus "Datei - Optionen - Formeln - Berechnungsoptionen". Hier kannst du ja die Berechnung auf Manuell stellen. Oder andere Einstellungen wählen. Das sollte man aber auf anderen PCs lassen. Also liest du den Wert erst aus, veränderst ihn dann und setzt ihn schliesslich wieder zurück.

Oder bei "Erweitert - Bearbeitungsoptionen" die Einstellung wo der Cursor nach Return hin soll.

Die Links oben führen dich zu den entsprechenden Stellen im Objektmodell (du kannst dort auch Begriffe filtern).

Per VBA sieht das dann in etwa so aus: 21 
Code:
Option Explicit
Public Sub Main()
    Dim blnMoveA As Boolean
    Dim lngCalc As Long
    ' Werte auslesen
    lngCalc = Application.Calculation
    blnMoveA = Application.MoveAfterReturn
    MsgBox "Calculation ist... " & Application.Calculation & vbCrLf & "Zellverschiebung nach Return ist... " & Application.MoveAfterReturn
    ' Werte setzen
    Application.Calculation = xlCalculationManual
    Application.MoveAfterReturn = False
    ' Deinen Code ausführen...
    MsgBox "Calculation ist... " & Application.Calculation & vbCrLf & "Zellverschiebung nach Return ist... " & Application.MoveAfterReturn
    ' Werte zurücksetzen
    Application.Calculation = lngCalc
    Application.MoveAfterReturn = blnMoveA
    MsgBox "Calculation ist... " & Application.Calculation & vbCrLf & "Zellverschiebung nach Return ist... " & Application.MoveAfterReturn
End Sub
Also es kommt sehr oft vor dass Quelle(Q) & Ziel(Z)-Rechner unterschiedliche Windows(W)/aber gleiche Excel-Apps(E) haben. Oder innerhalb von einer Gruppe von Usern gibt es gleichen Q&Z und W&E, wo es doch zur Problem wegen der Einstellung etc. gekommen ist.

ein Beispiel:
Quelle 21H1 EN (mit Excel 356)
Ziel 21H1 FR (mit Excel 356)

Egal wer wem eine Tabelle mit Zahlen/Formel schicket, stellt der User im Ziel fest, dass Formel nicht oder falsch berechnet. 


Jede kann sich so eine Umgebung in Banken, Finanzen, etc. vorstellen.

guten hinweis und danke für VBA
Hallo,

Ok, danke zwar für die Antwort, aber leider nichts Konkretes. Daher bin ich aus diesem Thread raus.

Gruß
für alle die mit regionale besonderheiten in Excel zu tun haben:


https://edu.gcfglobal.org/en/excel-tips/...n-excel/1/