sporočilo - počakaj trenutek......

Pomoč pri delu z MS Excelom
Odgovori
peter
Prispevkov: 3
Pridružen: Ne Jan 29, 2006 9:08 pm

sporočilo - počakaj trenutek......

Odgovor Napisal/-a peter »

živio

imam narejeno formo čez cel ekran ki mi odpira,preračunava in
tako dalje.včasih deluje(melje) zadeva bolj počasi,zato bi rad
vnesel nakakšno sporočilo,ki bi se aktiviralo z napisom,recimo:

podatki se obdelujejo,počakaj trenutek....


vesel bom vašega odgovora
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Najbolje je sporočila pisati v statusno vrstico, saj je slednja temu tudi namenjena. Na začetku kode preprosto zapišite:

Koda: Izberi vse

Application.StatusBar = "počakajte trenutek..."
Toda na koncu ne pozabite zapisati:

Koda: Izberi vse

Application.StatusBar = false
Saj s to programsko vrstico, statusno vrstico vrnete nazaj v upravljanje Excelu. Če na koncu ne zapišete '... = false', bo v statusni vrstici, do ponovnega zagona, zapisano vaše sporočilo.
lp,
Matjaž Prtenjak
Administrator
Sebastijan
Prispevkov: 17
Pridružen: To Jul 26, 2005 9:55 am
Kontakt:

Odgovor Napisal/-a Sebastijan »

1)
Ena zelo enostavna varianta bi bila tako da kreirate eno formo in jo pred začetkom premlevanja pokličete (seveda oblikovana forma nakateri piše "počakajte trenutek,,,," in jo pred koncem programa zaprete.

forma = ime forme

PRIMER:

Sub premlevanje()

forma.Show
*
*
*
izvajanje programa
*
*
*
forma.Hide

End Sub

2.
Ena varjanta je da kličete statusno vrstico in v njo vpišete željeni tekst in ga na koncu izpraznite (to uporabniki verjetno ne bodo niti opazili)



3.) Da bi se poigrali s timerjem in bi uporabnik natanko vedel koliko časa mora počakati do konca premlevanja.



lp


Sebastijan
peter
Prispevkov: 3
Pridružen: Ne Jan 29, 2006 9:08 pm

Odgovor Napisal/-a peter »

živio

hvala za vajina nasveta.no mala težava je v tem ,da imam formo čez
celi ekran,tako da je statusna vrstica neopazna.ne bi rad sreminjal forme
ker oblikovno lepo izgleda.

v drugem nasvetu pa ne razumem,ko vključim novo formo,ki jo je predlagal kolega,pa se makro izvaja le ko sem to novo formo na "križcu"
izklopil,kar je tudi logično.prosil bi dodatno razlago za ta vaš primer,
kako vključiti ,da se bo forma samodejno pojavila in skrila medtem,ko se bo makro izvedel.
za odgovor se vam zahvaljujem.
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

:)

Ojoj, zakaj komplicirati? V vašem primeru pač na formo dodajte nalepko (Label) in vanjo napišite: "prosim počakajte trenutek..." To je to!
lp,
Matjaž Prtenjak
Administrator
Sebastijan
Prispevkov: 17
Pridružen: To Jul 26, 2005 9:55 am
Kontakt:

Odgovor Napisal/-a Sebastijan »

ja to je možana rešitev, in najbolj enostavna nalepla (label), s tem da jo na začetku prikažete in na koncu skrijete. Upam da razumetete kaj mislim
peter
Prispevkov: 3
Pridružen: Ne Jan 29, 2006 9:08 pm

Odgovor Napisal/-a peter »

živio

ja ,to bom uporabil,oziroma sem že uporabil.
hvala za vajino pomoč.

lp
mb
Prispevkov: 57
Pridružen: Sr Okt 26, 2005 7:40 pm

Odgovor Napisal/-a mb »

Pozdravljeni,
mene zanima rešitev na vprašanje Petra:
v drugem nasvetu pa ne razumem,ko vključim novo formo,ki jo je predlagal kolega,pa se makro izvaja le ko sem to novo formo na "križcu"
izklopil,kar je tudi logično.prosil bi dodatno razlago za ta vaš primer,
kako vključiti ,da se bo forma samodejno pojavila in skrila medtem,ko se bo makro izvedel.
Hvala in LP
Boštjan
admin
Site Admin
Prispevkov: 3692
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Če je nek obrazec modalen potem, dokler se izvaja koda v njem, ostali del programa "stoji", če pa je obrazec nemodalen, pa ga lahko prikažete, izvajate kodo dalje in nato zaprete.

Kodo z nemodalnim obrazcem imate prikazano spodaj. Nemodali obrazec odprete z .Show 0 in v tem primeru se obrazec odpre, koda pa se izvaja dalje. V tem konkretnem primeru se na obrazcu vsako sekundo številka poveča za 1.

Da bo primer tekel, v VBA-ju dodajte nov obrazec, kodo pa prekopirajte v urejevalnik ter poženite.

Koda: Izberi vse

' www.matjazev.net
' 01.03.2006
Sub NemodalniObrazec()
    UserForm1.Show 0
    
    For i = 1 To 10
        UserForm1.Caption = i
        UserForm1.Repaint
        Application.Wait Now() + TimeValue("0:00:01")
    Next
    
    UserForm1.Hide
End Sub
lp,
Matjaž Prtenjak
Administrator
Odgovori