Keresés

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

  • vilag

    tag

    válasz sztanozs #1835 üzenetére

    Ü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

  • vilag

    tag

    válasz sztanozs #1835 üzenetére

    Hali!

    Az ötleted sokat segített a modul tekintetében.
    a Show Modal = False az jó volt, de Window Position tulajdonsága nincs a userformnak.

    Végül is úgy sikerült megoldani, hogy ötvöztem az általad javasoltat a saját ötlettel, azaz a Show Modal-t Falsra állítottam, illetve a userform initializáláshoz beírtam ezt:
    Application.WindowState = xlMinimized

    A kettő együtt végül is azt csinálja amit szerettem volna :)

    A több Workbook-ra kínált megoldással még nem volt időm foglalatoskodni, mert a másik sürgősebb.

    Azzal igazából azt szeretném megoldani, hogy amikor a userformon megnyomom a kilépés gombot, akkor megvizsgálja, hogy van e nyitva másik munkafüzet is vagy sem. Ekkor kettéválna a folyamat:
    1. Az eredmény az, hogy nincs nyitva másik munkafüzet -> zárja be az egész excelt
    2. Az eredmény az, hogy van nyitva másik munkafüzet -> csak ezt a munkafüzetet zárja be.

    A két különböző bezárást le tudom vezérelni, igazából a vizsgálatot nem tudtam megoldani.

    Remélem az általad vázoltal meg tudom majd oldani.

    Üdv, vilag

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

Hirdetés