Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel VBA: Arbeitsmappe ausblenden mit .visible
#1
Guten Tag,

ich habe ein Excel Programm X mit einer "Userform" erstellt. Da es aussehen soll wie eine reguläre .exe Datei würde ich gerne erreichen, dass die Excel Arbeitsmappe dahinter versteckt, also nicht angezeigt wird. Ich habe jetzt die Funktion application.visible = False gefunden, das Problem hier ist aber, dass alle Excel Dateien ausgeblendet werden. Das heißt hat man zwei unabhängige Excel-Dateien offen und öffnet man zusätzlich das Excel Prgramm X werden alle Fenster ausgeblendet und man kann die anderen Dateien nicht bearbeiten, solange das Programm X läuft.

Gibt es hierfür eine Lösung, d.h. dass du eine Arbeitsmappe ausgeblendet wird und nicht alle Excel-Dateien?

VG

Marius (Watzmann
Antworten Top
#2
Hallo Marius,

öffne deine UserForm mit dem Parameter vbModeless.
Gruß Jonas
Antworten Top
#3
Hallo Jonas,

wie ist denn die genaue Syntax von dem Befehl? Ich habe Bezeichnunguserform.show vbModeless verwendet und es tut sich nichts.
Was soll der Befehl denn genau bewirken? Ist das erste Mal, dass ich davon höre...

Vielen Dank Dir und LG


Marius
Antworten Top
#4
Guten Morgen  Marius,

(08.06.2017, 22:03)Watzmann schrieb: wie ist denn die genaue Syntax von dem Befehl? Ich habe Bezeichnunguserform.show vbModeless verwendet
Das ist richtig

(08.06.2017, 22:03)Watzmann schrieb: und es tut sich nichts.
Was bedeutet, es tut sich nichts?

(08.06.2017, 22:03)Watzmann schrieb: Was soll der Befehl denn genau bewirken?

Damit wird der Code nach dem Öffnen der Userform weiter ausgeführt und Du kannst auch auf der Oberfläche weiterarbeiten. Wenn Du also über VBA programmatisch etwas während die Userform offen ist, ändern willst, musst Du diese eben mit vbmodeless öffnen.
Gruß Jonas
Antworten Top
#5
Hallo Marius,

schreibe in ein allgemeines Modul (Einfügen - Modul) diese Funktion:
Public Function IchbinNichtAllein() As Boolean
 Dim i As Long
 Dim bolV As Boolean
 ThisWorkbook.Windows(1).Visible = True
 For i = 1 To Application.Windows.Count
   bolV = bolV Or Application.Windows(i).Visible
 Next i
 IchbinNichtAllein = bolV
End Function
In Deinem Code schreibst Du dann
Application.Visible = IchbinNichtAllein
Gruß Uwe
Antworten Top
#6
Hallo Uwe,

leider bewirkt auch hier der Code nichts (Siehe Fotos im Anhang). Bei Eingabe des Codes (Anhang 1) bekommt man als Ergebnis die Userform und die dahinterliegende Arbeitsmappe (Anhang 2). An was könnte das liegen?

LG

Marius


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#7
Hallo Marius,

nochmal,
(08.06.2017, 13:57)Jonas0806 schrieb: öffne deine UserForm mit dem Parameter vbModeless.
Gruß Jonas
Antworten Top
#8
@Jonas: Wie gesagt ich habe es gemacht, aber der Code bewirkt nichts. Hast du denn genau verstanden was mein Problem ist? Vielen Dank Dir schon einmal.

@Uwe: Ich habe das Problem gefunden....dein Code hat visible auf true gesetzt, ich habe das jetzt auf false gesetzt jetzt geht es. Jetzt funktioniert es !! Vielen Dank! Noch eine andere Frage. meine Userform (Siehe Anhang letzter Beitrag) hat den Bottom "Setting". Hier möchte ich, dass die Userform geschlossen wird und das Tabellenblatt wieder eingeblendet wird.
Welchen Code muss ich hierfür verwenden?

LG und Danke an Euch Beide

Marius
Antworten Top
#9
Haha ok ich habe die Lösung selber gefunden!

Private Sub cmdSettings_Click()
'Macht Excel wieder sichtbar
ThisWorkbook.Windows(1).Visible = True

Unload frmTool

Vielen Dank für Eure Hilfe!!!! Wäre alleine nie auf den Ansatz gekommen...
Antworten Top
#10
Mist! Jetzt bin ich noch auf eine Kosmetik Angelegenheit gestoßen!

Wenn ich das "Tool" als erstes anklicke, danach eine unabhängige Excel Liste....dann funktioniert alles wie gewünscht, das heißt ich kann mit beidem der unabhängigen Datei und dem Tool arbeiten...

Wenn ich bereits eine unabhängige Excel-Datei offen habe und danach das "Tool" öffne, zeigt es mir bei dem Tool wieder das dahinterliegende Workbook an.

Das muss wohl mit dem Windows. count zusammenhängen...

Irgendwie eine Idee wie man das lösen könnte??


Vielen Dank und LG
Antworten Top


Gehe zu:


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