Wenn Datei XY geöffnet dann...

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von HenryV.

    Wenn Datei XY geöffnet dann...

    Hallo zusammen,

    ich bin neu hier und hoffe auf eure Hilfe.
    Ich habe eine Exceldatei die sich selbständig auf 3 weitere Rechner kopiert. In der Datei sind die Tabellenblätter und das Formelfeld ausgeblendet.

    Ich bräuchte jetzt ein Makro welches den Dateinamen abfragt und dann die Tabellenblätter und Formelfeld einblendet.

    Als Beispiel: Wenn "Datei1" geöffnet dann Tabellenblätter & Formelfeld einschalten, ansonsten ausschalten.
    Hoffe es ist verständlich.
    Geht das?
    Danke schonmal im voraus

    Grüße
    Bitteschön.
    Spoiler anzeigen

    Visual Basic-Quellcode

    1. Function IsWorkBookOpen(Name As String) As Boolean
    2. Dim xWb As Workbook
    3. On Error Resume Next
    4. Set xWb = Application.Workbooks.Item(Name)
    5. IsWorkBookOpen = (Not xWb Is Nothing)
    6. End Function
    7. Sub Main()
    8. Dim xRet As Boolean
    9. Dim sDatei As String
    10. sDatei = "Datei1"
    11. xRet = IsWorkBookOpen(sDatei) Or _
    12. IsWorkBookOpen(sDatei & ".xlsx") Or _
    13. IsWorkBookOpen(sDatei & ".xlsm") Or _
    14. IsWorkBookOpen(sDatei & ".xlsb") Or _
    15. IsWorkBookOpen(sDatei & ".xls")
    16. If xRet Then
    17. Application.DisplayFormulaBar = True
    18. ActiveWindow.DisplayWorkbookTabs = True
    19. Else
    20. Application.DisplayFormulaBar = False
    21. ActiveWindow.DisplayWorkbookTabs = False
    22. End If
    23. End Sub

    Ich persönlich würde aber das ein- bzw. ausblenden mit Events von der Ursprungsdatei machen lassen.
    (Diese Makros gehört in DieseArbeitsmappe)
    Spoiler anzeigen

    Visual Basic-Quellcode

    1. Private Sub Workbook_Activate()
    2. Application.DisplayFormulaBar = False
    3. ActiveWindow.DisplayWorkbookTabs = False
    4. End Sub
    5. Private Sub Workbook_Deactivate()
    6. Application.DisplayFormulaBar = True
    7. ActiveWindow.DisplayWorkbookTabs = True
    8. End Sub