Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.Visible = False

Forumthread: Application.Visible = False

Application.Visible = False
10.11.2012 11:02:27
Sonja
Hallo
Meine Excelmappe öffne ich mit "Application.Visible = False" damit wird nur eine UserForm angezeigt. Soweit ganz gut, wenn ich dann eine weitere Excelmappe öffne, dann werden alle Exceltabellen wieder angezeigt.
Wie kann ich dies verhindern?
Gruß Sonja
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Visible = False
10.11.2012 11:04:33
Hajo_Zi
Hallo Sonnja,
mach doch im VBA Code nach dem öffnen
Application.Visible = False
Gruß Hajo

AW: Application.Visible = False
10.11.2012 11:27:20
Sonja
Hallo Hajo
Die Programmierte Exceldatei liegt in der Firma auf einem Server. Auf diese Datei können verschiedene
Mitarbeiter zu greifen.
Nochmal die Vorgehensweise, die VBA programmierte Exceldatei wird gestartet, es öffnet sich eine Userform
und Excel wird über Application.Visible = False ausgeblendet. Es ist also nur noch die UserForm sichtbar.
Jetzt öffnet der Mitarbeiter eine weitere Exceldatei, dabei wird Excel wieder eingeblendet.
Dies wollte ich aber verhindern.
Gruß Sonja

Anzeige
AW: Application.Visible = False
10.11.2012 11:31:29
Hajo_Zi
Hallo Sonja,
da Excel nicht sichtbar, bin ich davon ausgegangen das die Datei über UserForm geöffnet wird. Mir ist nicht klar wie man über Excel das ausgeblendet ist eine Datei öffnet.
Gruß Hajo

Anzeige
AW: Application.Visible = False
10.11.2012 11:37:09
Sonja
Hallo Hajo
Die UserForm ist geöffnet und der Anwender geht über den Windows Explorer in seinem Ordner,
wo er verschiedene Exceldateien gespeichert hat. Durch Doppelklick wird diese geöffnet.
Gruß Sonja

AW: Application.Visible = False
10.11.2012 11:40:15
Hajo_Zi
Hallo Sonja,
das wirst Du nur hin bekommen, wenn Du das Betriebssystem überwachts. Da ist Excel der falsche Ansatz.
Gruß Hajo

Anzeige
AW: Application.Visible = False
10.11.2012 11:45:56
Sonja
Hallo Hajo
Danke für Deine Bemühungen, vielleicht hat ja noch jemand einen Lösungsansatz.
Bitte weitere Lösungsvorschläge Posten, Danke
Sonja

AW: Application.Visible = False
10.11.2012 12:10:36
Nepumuk
Hallo,
in das Modul "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Not Saved Then
        Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
                    "' gespeichert werden", vbExclamation Or vbYesNoCancel)
            Case vbYes
                Save
            Case vbNo
                Saved = True
            Case vbCancel
                Cancel = True
        End Select
    End If
    If Not Cancel Then Application.IgnoreRemoteRequests = False
End Sub

Private Sub Workbook_Open()
    Application.IgnoreRemoteRequests = True
End Sub

Wenn die Mappe nicht gespeichert wird, dann dieses Workbook_BeforeClose-Event benutzen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.IgnoreRemoteRequests = False
End Sub

Gruß
Nepumuk

Anzeige
@Nepumuk,...
10.11.2012 12:55:49
Matze,Matthias
..jetzt hat der Matze wieder was gelernt,
ich klau mir mal die Zeilen,
klasse, werde dies bestimmt in einigen meiner neuen Projekte mit einfliesen lassen,...Danke
Gruß Matze

AW: @Nepumuk,...
11.11.2012 15:31:01
Matze,Matthias
Hallo Nepumuk,
und nun kommst dicke: hab mir mal eine BspMappe gemacht und dies ausprobiert:
klappt natürlich einwandfrei!!
A B E R: dezentes Problem:
wie komme ich wieder an die im Hintergrund arbeitende Mappe wieder heran?
Meine Userform kann ich schließen und Excel läuft im HG ständig weiter,...schnief
Sollte vorher angelegt sein:
Ich benötige einen weiteren Button auf der UF der mir Excel speichert und schließt!
Wie komme ich aber nun abn die Mappe , ohne diese Option?
Gruß dankender Matze

Anzeige
AW: @Nepumuk,...
11.11.2012 19:30:49
Nepumuk
Hallo,
was willst du genau, einen Button zum Einblenden der Mappe ?
Wenn du das Userform schließt und ohne speichern zu wollen Excel beenden willst, dann so:
Private Sub Workbook_Open()
    With Application
        .Visible = False
        .IgnoreRemoteRequests = True
    End With
    UserForm1.Show
    Saved = True
    With Application
        .IgnoreRemoteRequests = False
        .Quit
    End With
End Sub

Gruß
Nepumuk

Anzeige
AW: Application.Visible = False
10.11.2012 12:19:49
Matze,Matthias
In der Userform , hinter einem CommandButton:
Private Sub CommandButton1_Click()'anpassen
Call OpenExplorer
End Sub
In ein Modul
Sub OpenExplorer()
Dim Pfad As String
Pfad = "C:\Archiv\ 'anpassen wo die zu öffnenden Dateien"
Application.Dialogs(xlDialogOpen).Show Pfad
End Sub Wenn es untersachiedliche Orte gibt wo die zu öffnenden Dateien liegen.
dann nur : Application.Dialogs(xlDialogOpen).Show
Das Problem besteht aber immer noch das die Datei im vordergrund auf geht.
Deine Uf aber auch, Vorschlag hier wäre das du mit UF im Vollbildmodus arbeitest.
Private Sub UserForm_Initialize() 'Userform Vollbild
Me.Left = Application.Width / 2 - Me.Width / 2
Me.Top = Application.Height / 2 - Me.Height / 2
End Sub

Hilft das soweit?
Matze

Anzeige
AW: Application.Visible = False
10.11.2012 12:24:34
Sonja
Hallo
Vielen Dank für Eure Hilfe, habe die Lösung von Nepumuk eingearbeitet, jetzt funktioniert es genau wie ich es wollte.
Gruß Sonja
;
Anzeige

Infobox / Tutorial

Anwendung von Application.Visible in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineArbeitsmappe)", wähle "Einfügen" und dann "Modul".

  3. Gib den Code ein:

    Sub HideExcel()
       Application.Visible = False
       UserForm1.Show
    End Sub
  4. UserForm erstellen: Erstelle eine UserForm, die bei der Ausführung angezeigt wird.

  5. Füge den Code für das Schließen hinzu:

    Private Sub CommandButton1_Click()
       Application.Quit
    End Sub
  6. Starte das Makro: Führe das Makro HideExcel aus, um Excel auszublenden und die UserForm anzuzeigen.


Häufige Fehler und Lösungen

  • Problem: Application.Visible = False funktioniert nicht.

    • Lösung: Stelle sicher, dass Du das Makro mit den richtigen Berechtigungen ausführst. Überprüfe auch, ob Excel in der Taskleiste sichtbar ist, wenn Du eine zweite Arbeitsmappe öffnest.
  • Problem: Nach dem Öffnen einer zweiten Arbeitsmappe wird Excel wieder sichtbar.

    • Lösung: Verwende Application.IgnoreRemoteRequests = True, bevor Du die UserForm anzeigst, um die Sichtbarkeit von Excel zu steuern.

Alternative Methoden

  1. Verwendung von Workbook_Open:

    Private Sub Workbook_Open()
       Application.Visible = False
       UserForm1.Show
    End Sub
  2. Einen Button zur Sichtbarkeit hinzufügen:

    • Füge einen Button in der UserForm hinzu, um Excel wieder sichtbar zu machen:
    Private Sub CommandButton2_Click()
       Application.Visible = True
    End Sub

Praktische Beispiele

  • Beispiel 1: Wenn Du die UserForm öffnest und Excel im Hintergrund laufen lässt, kannst Du einen Button einfügen, um Excel zu schließen:

    Private Sub CommandButton1_Click()
       Application.Quit
    End Sub
  • Beispiel 2: Um Excel im Vollbildmodus zu verstecken, kannst Du folgende Zeilen verwenden:

    Private Sub UserForm_Initialize()
       Me.Left = Application.Width / 2 - Me.Width / 2
       Me.Top = Application.Height / 2 - Me.Height / 2
    End Sub

Tipps für Profis

  • Überwachung des Betriebssystems: Wenn Du die Sichtbarkeit von Excel während der Nutzung überwachen möchtest, kann es notwendig sein, auf API-Funktionen zurückzugreifen, um die Fensterverwaltung zu steuern.
  • Optimierung des Codes: Halte Deinen Code schlank und benutze Option Explicit, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich Excel wieder sichtbar machen, nachdem ich Application.Visible = False verwendet habe? Um Excel wieder sichtbar zu machen, musst Du Application.Visible = True aufrufen, bevor Du das Makro beendest.

2. Was ist zu tun, wenn application.visible = false nicht funktioniert? Überprüfe Deine Excel-Einstellungen und stelle sicher, dass keine anderen Makros oder Add-Ins die Sichtbarkeit von Excel beeinflussen.

3. Wie kann ich verhindern, dass Excel erneut sichtbar wird, wenn eine andere Arbeitsmappe geöffnet wird? Nutze Application.IgnoreRemoteRequests = True, um die Sichtbarkeit von Excel nach dem Öffnen einer UserForm zu steuern.

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