Kezdőlap › Fórumok › Excel programozás › Frissités…
- This topic has 11 hozzászólás, 3 résztvevő, and was last updated 6 years, 1 month telt el by Potus.
-
SzerzőBejegyzés
-
2018-08-03-14:50 #5016
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
2018-08-07-09:38 #5020Kapcsold ki a képernyő frissítését:
Application.ScreenUpdating=False. Frissítés után meg vissza
2018-08-08-12:27 #5021Hello!
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=truehova illesszem be?
Attachments:
You must be logged in to view attached files.2018-08-08-12:45 #5023Egy 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.
2018-08-08-12:45 #5024Egy 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.
2018-08-09-09:34 #5025Hello, 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!2018-08-10-08:50 #5030Felté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.2018-08-10-10:38 #5032T Ö K É L E T E S !!!!!!!!!!!!! 🙂 Köszönöm!
2018-08-10-11:44 #5033Egyszerű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
2018-08-11-05:52 #5038Szia 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?
2018-08-11-05:56 #50392018-08-11-06:09 #5041 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.