Hirdetés

Új hozzászólás Aktív témák

  • sztanozs
    veterán

    Üdv!

    Csináltam magamnak egy kis időt és megnéztem a több munkafüzetes megoldást is.

    A megoldás működik...csak fordítva :)

    Igazából azt írtad, hogy ha csak egy munkafüzet van nyitva, akkor csak a munkafüzetet zárja be, és ha több akkor pedig az egész programot :)

    De a problémát megoldottam.
    A hiba a következő volt:

    Private Sub CommandButton1_Click()
    Dim wcount As Integer
    Dim twb As Workbook
    wcount = 0
    For Each twb In Application.Workbooks
    wcount = wcount + 1
    Next
    If wcount = 1 Then helyette 0 kell
    Application.Quit
    Else
    Application.DisplayAlerts = False
    wb.Close False
    End If
    End Sub

    Valamint a wb.Close -ra hibát dob, így azt átírtam twb-re (de így sem működött), így átírtam ThisWorkbook-ra.
    Meg annyi, hogy én ez után a hibajelzést újra true-ra állítottam, hogy a nyitva maradt munkafüzetekben működjön. Bár lehet, hogy ez csak adott munkafüzetre vonatkozik.
    Az igazat megvallva ezt nem tudom.

    Mindent egybevéve, nagyon köszönöm a segítséget, most több programomba is beépítem a megoldást.

    Üdv, vilag

    A wb a Form1 egy lokális változója, amit inicializáláskor töltesz fel, ahogy - szintén ugyanabban a hszban - írtam is:
    Kód - Workbook:
    Private Sub Workbook_Open()
    Application.WindowState = xlMinimized
    Set UserForm1.wb = Me
    UserForm1.Show
    End Sub

    Kód - Form:
    Public wb As Object

    wcount=0-ra:
    Addin-moódba teszed végül a workbook-ot? Akkor tényleg nem jelenik meg a workbook-ok között.

Új hozzászólás Aktív témák