userformda entera basınca

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hocam Aynı kitaptaki tüm userformlarda entera basınca o userform üzerindeki cmdTAMAM click olayının çalışması için kodları nasıl değiştirmek gerekir.

sn Hocalarım yukarıdaki kodları
her userformda nasıl kullanırım.
mesala
useform1 de
Entarabasıldı(me, cmdTAMAM)

useform2 de
Entarabasıldı(me, cmdTAMAM)

useform3 de
Entarabasıldı(me, cmdENTER)

vs. hadi komut butonuna sabit isim atasak bile userformun ismi aynı olma şansı yok.ç tavsiyeleriniz nedir.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,286
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Aynı şekilde btn değişkenine atayacaksınız.

set btn(?).btn = Userform?.cmdTAMAM
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Zeki Hocam Kusura bakmayın dediğiniz yaptım ama uzun bir süre bu projemi geliştirmek için vaktim olmadı iki adet veya daha fazla userformumuz var, bu çağrılanb userformlardaki OptionButtonlar ın üzerinde entere basınca Atadığımız CommandButon tuşuna basılmış gibi tepki vermesi....

Şu an Kodların Durumu aşağıdaki gibidir ve sadece Ufbkhd Userformuna tepki vermektedir.;

Enter ClassModulü
Kod:
Public WithEvents opt As MSForms.OptionButton
Public WithEvents btn As MSForms.CommandButton

Private Sub btn_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ufBKHD.CommandButton1_Click
'    If KeyCode = 13 Then btn_Click

End Sub

Private Sub opt_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then ufBKHD.CommandButton1_Click
'    If KeyCode = 13 Then btn_Click
End Sub
ufbkhd Userfomunun Kodları
Kod:
Option Explicit
Option Compare Text
Private opt(1 To 12) As New Enter
'Private btn          As New Enter
Private btn(1)        As New Enter

Private Sub UserForm_EnterAc()
Dim c As Object
Dim i As Integer
    For Each c In Me.Controls
        If TypeName(c) = "OptionButton" Then
            i = i + 1
            Set opt(i).opt = Me.Controls(c.Name)
        End If
    Next
        Set btn(1).btn = Me.Controls(CommandButton1)
End Sub

Private Sub UserForm_EnterKapa()
'Dim c As Object
'Dim i As Integer
    Erase opt, btn
'    For Each c In Me.Controls
'        If TypeName(c) = "OptionButton" Then
'            i = i + 1
'            Set opt(i).opt = Me.Controls(c.Name)
'        End If
'    Next
'        Set btn(1).btn = Me.Controls(CommandButton1)
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Call UserForm_EnterKapa
End Sub
'================
Private Sub UserForm_Activate()
'Call KlsrDgr
'Dim dsyIco$:  dsyIco = klsrAddIns & AppPthSept & "AddInsResim" & AppPthSept & "A.ico"   'icon yolu
'Call UserformlardaEkOzellik(Me, False, True, True, True, False, True, False, False, True, True, dsyIco)
Call UserForm_EnterAc
End Sub

Private Sub UserForm_Initialize()
    If Selection.Count > 300 Then
        MsgBox "Fazla Alan Seçtiniz.", vbCritical + vbDefaultButton1 + vbOKOnly, "UYARI"
        Unload Me
        Exit Sub
    Else
        'MsgBox Selection.Count & " hücre seçili"
    End If
    OptionButton3.Value = True
End Sub

Sub CommandButton1_Click()
If OptionButton1.Value = True Then              '*Normal Tümce Düzeni
    Call NTC
    'MsgBox "Option1.Value"
ElseIf OptionButton2.Value = True Then          '*tümü küçük harf
    Call KHARF
    'MsgBox "Option2.Value"
ElseIf OptionButton3.Value = True Then          '*TÜMÜ BÜYÜK HARF
    Call bHARF
    'MsgBox "Option3.Value"
ElseIf OptionButton4.Value = True Then          '*Yalnızca İlk Harfler Büyük
    Call ILKHARFB
    'MsgBox "Option4.Value"
ElseIf OptionButton5.Value = True Then          '*bÜYÜK kÜÇÜK dÖNÜŞTÜR
    Call BKHArfD
    'MsgBox "Option5.Value"
ElseIf OptionButton6.Value = True Then          '*Ad SOYAD düzeni
    Call ASD
    'MsgBox "Option6.Value"
ElseIf OptionButton7.Value = True Then          '*Ad SOYAD düzeni
    Call SAD
    'MsgBox "Option6.Value"
ElseIf OptionButton8.Value = True Then          '*Ad SOYAD düzeni
    Call ASD_SAD
    'MsgBox "Option6.Value"
ElseIf OptionButton9.Value = True Then          '*Ad SOYAD düzeni
    Call SAD_ASD
    'MsgBox "Option6.Value"
ElseIf OptionButton10.Value = True Then          '*Tersten (netsreT) yaz
    Call TersY
    'MsgBox "Option8.Value"
End If
Unload Me
End Sub

Private Sub Label1_Click()
On Error Resume Next
ActiveWorkbook.FollowHyperlink address:="http://www.excel.web.tr", NewWindow:=True
End Sub

Sub CommandButton2_Click()
    Unload Me
End Sub

Aynı kitapta yer alan Test adlı userformda tepki vermesi için Enter ClassModulü nde ufBKHD.CommandButton1_Click yazan yerleri test.CommandButton1_Click olarak değiştrimek gerekiyor. aynı kitap için genelleme yapabilmek mümkünmüdür?
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Günaydın Yardım edersniz sevineceğim...
kodları
' If KeyCode = 13 Then btn_Clickhaline getirmek mümkün olursa çok güzel olacak
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
GÜncel Yardım Ederseniz sevinirim.
 
Üst