Koşul durumunda excel'i aktif hale getirmek

Katılım
23 Kasım 2005
Mesajlar
8
Herkese merhaba;

Arkadaslar problemim su..

Bir userform um var. CommandButton1'im var ve label'i AC...

Eger commandButton1 e basilirsa label i KAPA oluyor.
Tekrar basildiginda AC oluyor.

Benim istedigim;

KAPA posizyonunda kalir ise ve kullanici outlook ve ya IE acarsa belli bir sure sonra excel ekrana gelsin ve ya TaskBarda yanip sonsun.

Yalniz onemli olan nokta KAPA oldugu surece calisacak. Her 10 sn'ye de bir ekrana gelme ve ya yanip sonme gerceklestirecek...

Bunu istememin sebebi kullanicinin unutup islemi kapamamasi...


ASAGIDA KOD BILGILERI VAR....

USERFORM1 de....
Remind ve dTime Static, Remind Boolen....
KAPA olunca boolen deger TRUE oluyor.
If Remind = True Then
Call MyMacro
End If
End Sub

MODULE1 DE....

Sub MyMacro()
If Remind = True Then
dTime = Now + TimeValue("00:00:10")
Application.OnTime dTime, "MyMacro2"
Else: Exit Sub
End If
End Sub

Sub MyMacro2()
AppActivate ("Microsoft excel")
Call MyMacro
End Sub


Ancak donguyu calistiramadim....

Bu konuda yardim edecek arkadas cennetlik walla.... :hey:

Ve ya baska bir yolla hatirlatma gibi bi sey yapan var ise paylasirsaniz cok sevinecem...


Koray
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
denemedim ama bu iki kodda döngü doğru gözüktü bana, asıl sorun remin değişkenini nasıl tanımladığınız ile ilgili olmasın.??. public remind..
bundan kaynaklanoyorsa sorun dersane bölümünde bir yazı var ona bir göz atın isterseniz.
 
Katılım
23 Kasım 2005
Mesajlar
8
Tekrar selam;

Bi ornek excel dosyasi hazirladim...

UserForm1 icersinde...

Public dTime As Date
Public Remind As Boolean

Sub CommandButton1_Click()

If CommandButton1.Caption = "AC" Then
CommandButton1.Caption = "KAYIT KAPA": Remind = True
Else
CommandButton1.Caption = "AC": Remind = False
End If

If Remind = True Then
Call MyMacro
End If
End Sub

Module icersinde...

Sub MyMacro()
If Remind = True Then
MsgBox "Macro":
dTime = Now + TimeValue("00:00:05"): Application.OnTime dTime, "MyMacro2"
Else: Exit Sub
End If
End Sub
Sub MyMacro2()
MsgBox "Macro2"
AppActivate ("Microsoft excel")
Call MyMacro
End Sub


MsgBox lar koydum ki code icersinde hata var ise gorebiliyim... ancak... Remind degiskenini tanimlamamda ve ya yazimda True/False bir problem var zannedersem... MsgBox lar cikmiyor ve yanip sonme veya excel i on tarafa getirmiyor...

Lutfen arkadaslar bu problemi cozmeme yardim edin...

Koray
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
[vb:1:904c19181f]Public dTime As Date
Public remind As Boolean
[/vb:1:904c19181f]

Yukarıdaki değişkenleri private bir modülde tanımladığınız için normal modülde kullanamazsınız. Bu tanımlamalar sadece userformun modülünde geçerli olacaktır. Bu sebeple module1 deki kodları aşağıdaki ile değiştirerek deneyin.

[vb:1:904c19181f]Sub MyMacro()
If UserForm1.CommandButton1.Caption = "KAYIT KAPA" Then
MsgBox "Macro":
dTime = Now + TimeValue("00:00:05"): Application.OnTime dTime, "MyMacro2"
Else: Exit Sub
End If
End Sub

Sub MyMacro2()
MsgBox "Macro2"
AppActivate ("Microsoft excel")
Call MyMacro
End Sub
[/vb:1:904c19181f]
 
Katılım
23 Kasım 2005
Mesajlar
8
Abi Cok Saol....

Nasil boyle bir hataya takildim anlamadim...
Userform1.Remind: True da is gorecek normal olarak...

Tesekkurler

Koray
 
Üst