Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Application.Run(1) = Not Application.Run(2)
#1
Hallo zusammen!

Aktuell bin ich dabei ein Lagerverwaltungstool zu schreiben. 

Es gibt einen Benutzermodus und einen Entwicklermodus. Die beiden Modi unterscheiden sich z.B. darin welche Zellen man auswählen kann und welche Blätter angezeigt werden, etc. 
Des Weiteren gibt es für den Benutzer eine andere Ansicht als für den Entwickler.

Die Ansicht des Benutzers ist 


Code:
Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"",False)"
Application.DisplayFormulaBar = False
Application.DisplayFullScreen = True

ActiveWindow.DisplayHorizontalScrollBar = False
ActiveWindow.DisplayVerticalScrollBar = False
ActiveWindow.DisplayWorkbookTabs = False
 
Die Ansicht des Entwicklers ist

Code:
Application.DisplayFullScreen = False
Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"",true)"
Application.DisplayFormulaBar = True

ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayWorkbookTabs = True


Nun möchte ich, dass man über ein Piktogramm auf der Startseite die Ansicht ändern kann. 

Code:
Application.Run"'XXX.xlsm'!Benutzer" = Not Application.Run"'XXX.xlsm'!Entwickler"
 
o.g. Code funktioniert leider nicht! 

Dieselbe Syntax benutze ich auch noch an anderer Stelle im Projekt um eine Form ein- und auszublenden und da funktioniert es.


Habt ihr eine Idee wie ich das umsetzen kann? Kann ja nicht so schwer sein.



Vielen Dank und schöne Grüße
Yannick P.
Antworten Top
#2
Hallöchen,

Zitat:Dieselbe Syntax benutze ich auch noch an anderer Stelle im Projekt um eine Form ein- und auszublenden und da funktioniert es.

Glaub ich nicht. Bei einem Form nutzt man die Visible-Eigenschaft.

Application.Run"'XXX.xlsm'!Benutzer" führt ein Makro aus. Zum Vergleichen bräuchtest Du was mit Rückgabewert, z.B. eine Function bzw. Du vergleichst Variablen oder Konstanten.

Also z.B. wenn Du nur prüfst, ob da ein Entwickler sitzt

If DerVormPC = "Entwickler" then Application.Run"'XXX.xlsm'!Entwickler" Else Application.Run"'XXX.xlsm'!Benutzer"

oder gleich, wenn die Variable beide Zustände haben kann,

Application.Run"'XXX.xlsm'!" & DerVormPC
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
(15.04.2024, 19:49)schauan schrieb: Application.Run"'XXX.xlsm'!Benutzer" führt ein Makro aus. Zum Vergleichen bräuchtest Du was mit Rückgabewert, z.B. eine Function bzw. Du vergleichst Variablen oder Konstanten.
Application.Run gibt die Rückgabe einer Funktion zurück. 
Man kann einer Funktion aber keinen Rückgabewert zuweisen, wie es hier versucht wird. Das geht aber auch sonst nicht.
Antworten Top
#4
Hallöchen,

ok, ich war da nur der Annahme, dass hier Makros (Subs) ausgeführt werden.
Korrekt wäre, wenn Functions dahinter stecken, dann ein If davor und ein Then dahinter 100
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Die Frage lässt Raum für Spekulationen…
Antworten Top
#6
Moin,

es sollte auch nicht außer acht gelassen werden, dass rumfuddeln im der Benutzeroberfläche ein großes Maß an Fingerspitzengefühl und insbesondere eine sehr sorgfältige Fehlerbehandlung und "Exit-Szenarien" braucht. Sonst passiert es ganz schnell, dass deine Nutzer in Excel lahmgelegt werden, auch in den Fällen, in denen sie gar nicht mit deiner (Diktator)-App arbeiten wollen. Für mich steht der Aufwand und die benötigten Kenntnisse für ein sauberes Arbeiten dabei in einem mißverhältnis zu den bisherigen Kenntnissen des TE. Ich würde mich da insgesamt fragen, wozu er die Möglichkeiten der Nutzer einschränken will. 

Viele Grüße 
derHöpp
[-] Folgende(r) 1 Nutzer sagt Danke an derHoepp für diesen Beitrag:
  • Klaus-Dieter
Antworten Top
#7
hat sich erledigt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#8
Ich verstehee nicht warum dieser Tread als 'wichtiges Thema' dargestellt wird und nich als ein normales Thema.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
@snb,

verstehe ich gerade auch nicht ... Confused ich beobachte das weiter.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
(16.04.2024, 11:10)schauan schrieb: ich beobachte das weiter.
Spannend, weil der Thread gestern den Status zwischendurch mal verloren hatte.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste