Telefonszámunk: 1-472-0679

Frissités…

Kezdőlap Fórumok Excel programozás Frissités…

12 bejegyzés megtekintése - 1-12 / 12
  • Szerző
    Bejegyzés
  • #5016
    Potus
    Felhasználó

      Sziasztok!
      Van egy munkafűzetem amiben néhany munkalapot időnként frissitene kell. Miközben frissit olyan a képrnyő mintha lefagyna. Mindeféle munkalap töredékek láthatók. Ehelyett nem lehetne valamilyen kóddal kiíratni valami szöveget a frissitéssel kapcsolatban?

      Üdv Potus

      #5020
      Titok
      Felhasználó

        Kapcsold ki a képernyő frissítését:

        Application.ScreenUpdating=False. Frissítés után meg vissza

        #5021
        Potus
        Felhasználó

          Hello!
          Műkődik a dolog, köszi.

          Találtam a neten egy progress bar kodot. Be lehet ezt illeszteni valahová , a frissítésbe, hogy megjelenítse a folyamat haladását. Jól mutatna.

          sub refresh()
          application.screenupdate=falsh
          Thisworkbook.refreshall
          application.screenupdate=true

          hova illesszem be?

          Attachments:
          You must be logged in to view attached files.
          #5023
          delila
          Felhasználó

            Egy példa:

            Sub StatuszSor()
                Dim sor As Integer
                For sor = 1 To 25
                    Application.StatusBar = sor & ". sor összege:   " & Cells(sor, 1) + Cells(sor, 2)
                    Application.Wait Now + TimeValue("00:00:01")
                Next
                Application.StatusBar = False
            End Sub

            A For i Next i ciklust lezártad, de a For j-t nem.

            #5024
            delila
            Felhasználó

              Egy példa:

              Sub StatuszSor()
                  Dim sor As Integer
                  For sor = 1 To 25
                      Application.StatusBar = sor & ". sor összege:   " & Cells(sor, 1) + Cells(sor, 2)
                      Application.Wait Now + TimeValue("00:00:01")
                  Next
                  Application.StatusBar = False
              End Sub

              A For i Next i ciklust lezártad, de a For j-t nem.

              #5025
              Potus
              Felhasználó

                Hello, Delila!
                Bolyongva a neten ezt találtam Andy Pope-tól: Not sure you can use a progress bar as the Refresh does not yield cpu cycles for your to run code in. What you could do is put a please wait message in the statusbar. (Nem biztos benne, hogy használhatja a folyamatjelző sávot, mivel a Frissítés nem hozza létre a cpu ciklusokat a kód futtatásához. Amit tehetnék, tegyen egy kérem várjon üzenetet az állapotsorban.) Ezek szerint a frissítés alatt nem valószínű, hogy futni fog a progress bar-om. Ha igaz szomorú vagyok 🙁 .
                Viszont nem értem mit csináljak avval amit példaként írtál? Összeadja az 1 és második oszlopot? De melyik sor a statusz sor?
                Elmagyaráznád nekem, nagyon kezdő vagyok még ehhez. Bocsi!

                #5030
                delila
                Felhasználó

                  Feltételezem, hogy a formon a zöld csík (Label2) szélességét akarod növelni, és ebbe akarod beíratni az adatok betöltésének pillanatnyi értékét.
                  A Label1 és Label2 Left tulajdonságát (bal szélét) azonosra állítottam, a Label2 kiinduló szélessége (width) nulla.
                  Lassítani, gyorsítani a Label2 szélességét a For j=1 To … érték módosításával tudod. Nagyobb értéknél lassúbb lesz a folyamat.

                  Attachments:
                  You must be logged in to view attached files.
                  #5032
                  Potus
                  Felhasználó

                    T Ö K É L E T E S !!!!!!!!!!!!! 🙂 Köszönöm!

                    #5033
                    delila
                    Felhasználó

                      Egyszerűbben is megoldhatod. Csak egy címke legyen, Label1. Ennek a magassága (Height) 3, szélessége (Width) nulla.

                      Private Sub UserForm_Activate()
                          For i = 2 To 100 Step 2
                              For j = 1 To 1000000: Next
                              DoEvents
                              UserForm1.Caption = i & "% komplett"
                              Label1.Width = i * 2
                          Next
                      End Sub
                      #5038
                      Potus
                      Felhasználó

                        Szia Delila!

                        Köszönöm szépen! Alkalmaztam az egyszerűbb verziót.
                        Szerintem tetszetős desing elem, de… De nem lehet a design elem voltán túl a valós frissítési folyamathoz kötni? Mint a „valódi” profi programoknál. Vagy ott is tulajdonképpen csak a látványt szolgálja? Vagy rossz helyre szúrtam be?

                        Sub refresh()
                        Dim screenupdating As Application
                        Application.screenupdating = False
                        UserForm14.Show
                        ThisWorkbook.RefreshAll
                        UserForm13.Show
                        Application.screenupdating = True
                        End Sub

                        ( a userform14.show a „Private Sub UserForm_Activate() , a UserForm13.Show pedig egy kép az msgbox helyett a folyamat végét jelzandő ) .

                        Még az is – nem nagy , de mégis csak – problémám, hogy hiába kapcsolom ki a képernyő frissítést munkafűzet frissítés közben, időnkét , egyszer – kétszer fehér lesz a képernyő és egy windows media player ikon töredék látszik rajta. Nem lehet ilyenkor helyette valami képet – mellékelem – megjeleníteni helyette?

                        #5039
                        Potus
                        Felhasználó

                          erre a képre gondoltam …

                          Attachments:
                          You must be logged in to view attached files.
                          #5041
                          Potus
                          Felhasználó

                            e helyett..

                            Attachments:
                            You must be logged in to view attached files.
                          12 bejegyzés megtekintése - 1-12 / 12
                          • Be kell jelentkezni a hozzászóláshoz.