Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
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

Makro nur Ausführen- wenn zwei Fenster vorhanden?

Makro nur Ausführen- wenn zwei Fenster vorhanden?
17.01.2020 23:19:48
Andreas

Guten Abend,
Nun habe ich doch noch ein Problem. Wenn ich von der zwei-Fenster zur Ein-Fensteransicht zurück wechseln möchte, mache ich dies mit dem Makro unten.
Könnte man dieses Makro nur ausführen lassen, wenn auch dieses zweite Fenster vorhanden ist.
Die Doppelfenster-Ansicht ist ja praktisch wie eine 1:1 Kopie der Datei.
Ist das Fenster bereits geschlossen und das Makro wird ausgeführt, werde ich gefragt, ob ich speichern möchte. Dies ist mir an der Stelle jedoch zu Unsicher- weil ich das dort nicht gebrauchen kann. Ein falscher klick- XLSM zu ohne gespeichert zu sein!
Möchte es nur ausführen- wenn auch das zeite Fenster da ist.
  • 
    Sub Fenster_zurück()
    ' Schließe Fenster2 maximiereFenster1
    ActiveWindow.Close
    Windows.Arrange ArrangeStyle:=xlVertical
    ActiveWindow.Zoom = 90
    Sheets("Bearbeiten").Select
    Range("A4").Select
    End Sub
    

  • Grüße Andreas

    9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Makro nur Ausführen- wenn zwei Fenster vorhanden?
    18.01.2020 06:28:38
    Nepumuk
    Hallo Andreas,
    so:
    Public Sub Fenster_zurück()
        If ThisWorkbook.Windows.Count > 1 Then
            ActiveWindow.Close
            Windows.Arrange ArrangeStyle:=xlVertical
            
            ActiveWindow.Zoom = 90
            Sheets("Bearbeiten").Select
            Range("A4").Select
        End If
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Makro nur Ausführen- wenn zwei Fenster vorhanden?
    18.01.2020 06:31:37
    Nepumuk
    Hallo Andreas,
    so:
    Public Sub Fenster_zurück()
        '
        
        ' Schließe Fenster2 maximiereFenster1
        '
        
        '
        If ThisWorkbook.Windows.Count > 1 Then
            ActiveWindow.Close
            Windows.Arrange ArrangeStyle:=xlVertical
            
            ActiveWindow.Zoom = 90
            Sheets("Bearbeiten").Select
            Range("A4").Select
        End If
    End Sub

    Gruß
    Nepumuk
    Anzeige
    Makro nur Ausführen- wenn Blatt vorhanden
    18.01.2020 08:50:40
    Andreas
    Hallo Nepumuk,
    danke- das funktioniert. Super!
    Würde gern auch noch bei der Erstellung des Fensters 2 ebenfalls eine Abfrage machen- Ausführen nur wenn Tabelle "Bestand" erstellt ist.
    Ist diese Tabelle noch nicht vorhanden, dann Laufzeitfehler, da er ja in Betand Selectiert wird.
    Eine Fenstergrößenänderung beim Erstellen des Fensters2 mit "Bearbeiten" auf Begrenzung der Spalten A-Q und den Rest des Bildchirms für die Tabelle "Bearbeiten" ist wohl nicht möglich?
    Habe schon mal versucht etwas einzuarbeiten.
    Kann jemand helfen?
    Grüße Andreas
    Public Sub Fenster_nebeneinader()
    If ThisWorkbook.Windows.Count > 1 Then
    ActiveWindow.NewWindow
    ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlVertical
    Sheets("Bestand").Select
    ActiveWindow.SmallScroll Down:=18
    ActiveWindow.Zoom = 70
    Windows("Ortsfeste Anlage  Vorlage.xlsm:1").Activate
    ActiveWindow.Zoom = 70
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
    End If
    End Sub
    

    Anzeige
    Korrektur -der Fehlerteufel!!
    18.01.2020 09:02:18
    Andreas
    Eine Fenstergrößenänderung beim Erstellen des Fensters 2 mit "Bestand" auf Begrenzung der Spalten A-Q und den Rest des Bildchirms für die Tabelle "Bearbeiten" ist wohl nicht möglich?
    muss es lauten
    AW: Korrektur -der Fehlerteufel!!
    18.01.2020 09:10:27
    Nepumuk
    Hallo Andreas,
    1. Das ist sehr kompliziert.
    2. Da ist noch ein Fehler im Makro. Du musst natürlich abfragen ob nur ein Fenster existiert:
    If ThisWorkbook.Windows.Count = 1 Then
    

    Gruß
    Nepumuk
    Danke- so lassen wir es
    18.01.2020 10:39:02
    Andreas
    Danke sehr
    Grüße Andreas
    AW: Makro nur Ausführen- wenn Blatt vorhanden
    18.01.2020 09:05:15
    Nepumuk
    Hallo Andreas,
    teste mal:
    Public Sub Fenster_nebeneinader()
        
        If WorksheetExist("Bestand") Then
            
            If ThisWorkbook.Windows.Count > 1 Then
                
                ActiveWindow.NewWindow
                ThisWorkbook.Windows.Arrange ArrangeStyle:=xlVertical
                Sheets("Bestand").Select
                ActiveWindow.SmallScroll Down:=18
                
                ActiveWindow.Zoom = 70
                Windows("Ortsfeste Anlage Vorlage.xlsm:1").Activate
                
                
                ActiveWindow.Zoom = 70
                
                ActiveWindow.ScrollRow = 1
                
                ActiveWindow.ScrollColumn = 1
                
            End If
        End If
    End Sub

    Private Function WorksheetExist(ByVal pvstrSheetName As String) As Boolean
        Dim objWorksheet As Worksheet
        For Each objWorksheet In ThisWorkbook.Worksheets
            If objWorksheet.Name = pvstrSheetName Then WorksheetExist = True
        Next
    End Function

    Gruß
    Nepumuk
    Anzeige
    AW: Makro nur Ausführen- wenn Blatt vorhanden
    18.01.2020 09:37:16
    Andreas
    Nein , das klappt nicht-
    es wird kein zweites Fenster geöffnet.
    Ändere ich den Code so dann werden zwar wieder zwei Fenster geöffnet, jedoch unabhängig ob "Bestand" exitiert.
    Sub Fenster_nebeneinader()
    ActiveWindow.NewWindow
    ActiveWorkbook.Windows.Arrange ArrangeStyle:=xlVertical
    If WorksheetExist("Bestand") Then
    If ThisWorkbook.Windows.Count > 1 Then
    Sheets("Bestand").Select
    ActiveWindow.SmallScroll Down:=18
    ActiveWindow.Zoom = 70
    Windows("Ortsfeste Anlage  Vorlage.xlsm:1").Activate
    ActiveWindow.Zoom = 70
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
    End If
    End If
    End Sub
    
    Grüße Andreas
    Anzeige
    AW: Makro nur Ausführen- wenn Blatt vorhanden
    18.01.2020 10:26:44
    Nepumuk
    Hallo Andreas,
    hast du meinen letzten Beitrag nicht gelesen? Da steht die Korrektur drin.
    Public Sub Fenster_nebeneinader()
        
        If WorksheetExist("Bestand") Then
            
            If ThisWorkbook.Windows.Count = 1 Then
                
                ActiveWindow.NewWindow
                ThisWorkbook.Windows.Arrange ArrangeStyle:=xlVertical
                Sheets("Bestand").Select
                ActiveWindow.SmallScroll Down:=18
                
                ActiveWindow.Zoom = 70
                Windows("Ortsfeste Anlage Vorlage.xlsm:1").Activate
                
                
                ActiveWindow.Zoom = 70
                
                ActiveWindow.ScrollRow = 1
                
                ActiveWindow.ScrollColumn = 1
                
            End If
        End If
    End Sub

    Private Function WorksheetExist(ByVal pvstrSheetName As String) As Boolean
        Dim objWorksheet As Worksheet
        For Each objWorksheet In ThisWorkbook.Worksheets
            If objWorksheet.Name = pvstrSheetName Then WorksheetExist = True
        Next
    End Function

    Gruß
    Nepumuk
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige