• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Alt+H Kombinasyonu

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Kod:
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 18 And KeyCode = 72 Then
MsgBox "Alt & h"
End If

End Sub

Bu kod neden çalışmaz ? :)
 
Kod:
Sub kısayol()
Application.OnKey "%{h}", "DENEME"
End Sub

Sub DENEME()
MsgBox "uyarı"
End Sub

Bu kodlar ile normal sayfada Alt + H kombinasyonunu kullanabiliyorum fakat vba üzerinde işlemiyor.
 
Amacınızı anlamadım ama şunu deneyiniz:
Kod:
Dim alt As Boolean
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 18 Then
    alt = True
ElseIf KeyCode = 72 And alt = True Then
    MsgBox "Alt & h"
    [COLOR="Red"]alt = False[/COLOR]
End If
End Sub

Private Sub ListBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 18 Then alt = False
End Sub
 
Son düzenleme:
Bu kodlarla oluyor fakat,
Bir kere Alt+H yapınca sonrasında Her "H" tuşuna basınca kod çalışmaya devam ediyor.

Amaç Basit aslında;

userform açıkken ve listbox1 seçili iken Alt +H tuşlarınabastığımda bir kod çalıştıracağım.

Bunu aşabilirsem Harfler değişecek;
Alt +H
Alt + F
Alt + Y
vs..
 
Hata düzeltmesi için koda kırmızı satırı ilave ediniz.
Kod:
MsgBox "Alt & h"
[COLOR="Red"]alt = False[/COLOR]
 
Evet o şekilde yapmıştım:)
Burada Dim alt As Boolean
boolean ne değeri katıyor?
 
Boolen olarak tanımlanan değer True veya False değerlerini alabilir.
Detay için linkleri inceleyebilirsiniz.
Değişkenler
Değişken Tanımlama

Bir de kodu değiştirdim tuştan her kalkışta altı iptal etmek varken... Nedense bazen bir noktaya saplanıp kalıyoruz...
Kod:
Dim alt As Boolean
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 18 Then
    alt = True
ElseIf KeyCode = 72 And alt = True Then
    MsgBox "Alt & h"
End If
End Sub

Private Sub ListBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
alt = False
End Sub
İyi çalışmalar...
 
Bir de Alt H kombinasyonunda Pcden "Ding" Diye bir ses çıkıyor.
 
O ses yanlış tuşa basılmasıyla alakalı... Nedenini bilmiyorum.
Bir de soruyu bu şekilde sorduğunuz için sadece Alt+H şeklinde çözüm üretmeye çalıştım ancak sizin için ikili tuş kullanımı zaruri değilse acizane bu gibi işlemlerde fonksiyon tuşlarını kullanmayı tercih ederim.
 
Evet hatalı tuşa basma uyarısı veriyor.
Aslında amaç Alt H ile kısayol oluşturmak. Listeden seçilecek satırdaki değerin "Hareketlerini" Gösterecek.
Alt Y kombinasyonu Yazdıracak
Alt F ise Fiyatını gösterecek.
 
Enteresan birşey var :)

Aynı kodları Ctrl+H kombinasyonu kullanarak yaptığımda hiç ses çıkmıyor :)
 
Vazgeçtim sadece Harfleri kullanarak yapacağım :)
Sadece H tuşu ile işimi göreceğim.
 
Geri
Üst