Hücre change kodu textbox change olayı gibi çalışsın

Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
Merhaba,
Verdiğim linkteki 5. mesajdaki dosyayı alternatif olarak düşünebilirsiniz.
http://www.excel.web.tr/f50/yazdykca-dioer-sutuna-gecsin-t97071.html

leumruk'un söylediğide olabilir


Kod:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

End Sub
olayında tuş kontrolü yapmak gerekir. ilk fırsatım da ilgileneceğim.


Kod:
Private Sub TextBox1_Change()
If Intersect(Target, [A1]) Is Nothing Then Sheets("Sayfa1").AutoFilterMode = False
Sheets("Sayfa1").Range("A2:B300").AutoFilter field:=1, Criteria1:="*" & Sheets("Sayfa1").Range("A1").Value & "*"
End Sub
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Cengiz Bey ve Mustafa Bey, örnekler için teşekkürler. :eek:k::


Sayın leumruk, zekice düşünülmüş bu kodu paylaştığınız için teşekkür ederim.
:bravo:


Cengiz Bey, sizin kodlardaki, CellChange prosedüründeki 1 saniye bekleme süresini bu şekilde biraz daha kısaltarak daha kullanışlı hâle getirilebilir.
Kod:
[FONT="Trebuchet MS"]Sub CellChange()
    yaz = Timer
    dur = 0.3
    While Timer < yaz + dur
    Wend
    SendKeys "{Enter}{UP}", True
End Sub[/FONT]
Ya da ilgili prosedürde keylogger kodları bu şekilde kullanılabilir.
Kod:
[FONT="Trebuchet MS"]DefLng B, E, I, R
DefStr S
Public Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long

Sub CellChange()
    e = 1: b = 0
    yaz = Timer
    dur = 0.3
    While Timer < yaz + dur
        For i = 1 To 255
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then s = s + Chr$(i)
        Next i
        If Len(s) = 100 Then
            Cells(e, 2).Value = s
            e = e + 1
        End If
        Cells(e, 2).Value = s
    Wend
    SendKeys "{Enter}{UP}", True
End Sub[/FONT]
 
Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
Cengiz Bey ve Mustafa Bey, örnekler için teşekkürler. :eek:k::


:bravo:


Cengiz Bey, sizin kodlardaki, CellChange prosedüründeki 1 saniye bekleme süresini bu şekilde biraz daha kısaltarak daha kullanışlı hâle getirilebilir.
Kod:
[FONT="Trebuchet MS"]Sub CellChange()
    yaz = Timer
    dur = 0.3
    While Timer < yaz + dur
    Wend
    SendKeys "{Enter}{UP}", True
End Sub[/FONT]
Ya da ilgili prosedürde keylogger kodları bu şekilde kullanılabilir.
Kod:
[FONT="Trebuchet MS"]DefLng B, E, I, R
DefStr S
Public Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Long

Sub CellChange()
    e = 1: b = 0
    yaz = Timer
    dur = 0.3
    While Timer < yaz + dur
        For i = 1 To 255
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then s = s + Chr$(i)
        Next i
        If Len(s) = 100 Then
            Cells(e, 2).Value = s
            e = e + 1
        End If
        Cells(e, 2).Value = s
    Wend
    SendKeys "{Enter}{UP}", True
End Sub[/FONT]

haklısın biraz süre olarak gecikme vardı.

teşekkürler elinize ve zihninize sağlık :eek:k::
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Rica ederim Cengiz Bey, ileride belki bir iyileştirme daha yapılabilir..
 
Katılım
28 Ekim 2007
Mesajlar
217
Excel Vers. ve Dili
2003-2013
İnşallah.

söyle bir sıkıntıda var hücreye çıkış ve giriş yaparken klavyeye basma hızı ile senkronize olması gerek. yazım esnasında hücreye çıkış-giriş yaparken hızdan dolayı önceki veri siliniyor. hız senkronize olduğunda silinmiyor.
 
Üst