SendKeys' de meydana gelen enteresanlık..

Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
herkese iyi geceler,

aşağıdaki gibi bir kodum var...

sub x ()
application.visible = false
.............
...............
............
.............
.................
SendKeys ("{TAB}"),0
SendKeys ("{TAB}"),0
............
...........
end sub


sendkeys metodu ile iki defa ard arda [ TAB ] tuşuna bastırmak istiyorum. [ TAB ] yerine [ numlock ] tuşuna basılıyor. Ancak, ne zaman
[ application.visible = false ] komutunu [ application.visible = true ] ile değiştiriyorum kod, yapması gerekeni yapıyor, yani [ TAB ] tuşuna iki defa ard arda basılıyor.

SendKeys metodu, application.visible = false iken neden beklenenin dışında bir işlev yapıyor acaba ? Düzeltme imkanı var mı ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,232
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ben kodunuzu denedim ve işlevini yerine getirdi. Sanırım farklı bir durum söz konusu. Sakıncası yoksa kodunuzun tamamını verebilirmisiniz.
 

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
application.visible=false durumunda iken tab tuşuna iki kez basmanızın sebebi nedir?
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
sn Cost_Control kod aşağıdadır. Ancak bir durumu açıklamak isterim. Userformu kodun içinde F5 tuşuyla açarken sorun yok, ne zaman ki ilgili excel kitabını en baştan açıyorum o zaman problem ortaya çıkıyor.

Private Sub Workbook_Open()
UserForm2.Show
End Sub

Private Sub UserForm_Initialize()
Application.Visible = false
Sheets("hesap").Select
Range("A1:ı17,p1:u20").ClearContents
Range("A20:ı50").ClearContents
Range("x1:z50").ClearContents
For i = 1 To 17
Controls("Combobox" & i).RowSource = "o1:eek:335"
Controls("Frame" & i).Visible = False
Next i
Label882.Caption = [l2]
SendKeys ("{TAB}"), 0
SendKeys ("{TAB}"), 0
With TextBox1
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
End Sub

Sn leventm;

userfom üzerinde fazla sayıda nesne var o yüzden ancak iki defa tab tuşuna basılınca cursor, istediğim textbox1' in üzerine gitmektedir.

sebebi özetle budur..

teşekkürler..
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Sorununuza çözüm olup olmayacağı konusunda bilgim yok ama dosyanızda
SendKeys ("{TAB}{TAB}"), 0
şeklinde de deneyebilirsiniz.

Ayrıca setfocus lada istediğiniz kontrolü aktif edebilirsiniz.
 

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
Bu işlem için ya nesnelerin tab sıralarını vb editöründe view-tab order menüsünden sıraya koyabilir yada Sn veysel beyin belirttiği gibi setfocus komutunu kullanabilirsiniz.
 
Katılım
25 Mayıs 2007
Mesajlar
165
Excel Vers. ve Dili
türkçe vista işletim sistemi
excel2007
türkçe
ilginize çok teşekkür ederim arkadaşlar,

ancak her iki işlem de işe yaramadı -ya da ben beceremedim- herhalde kullandığım klavye, pc v.b araçların ayarlarıyla ilgilidir.

neyse ben yine application.visible = true kullanıp işime devam ediyorum.

emeğinizi paylaştığınız için tekrar teşekkür ederim.

iyi günler..
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
ilginize çok teşekkür ederim arkadaşlar,

ancak her iki işlem de işe yaramadı -ya da ben beceremedim- herhalde kullandığım klavye, pc v.b araçların ayarlarıyla ilgilidir.

neyse ben yine application.visible = true kullanıp işime devam ediyorum.

emeğinizi paylaştığınız için tekrar teşekkür ederim.

iyi günler..
setfocus dan önce
cancel=true

Yazıp deneyin.
 
Üst