• DİKKAT

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

Userform üzerinde çoklu nesne seçimi

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Merhaba değerli hocalarım,
Userform üzerinde bulunan 10 adet textbox'u mause ile seçip içeriğini temizleyebilir miyiz? Mesela excel tablosunda hücreleri mause ile seçip delete tuşuna basıp seçili hücrelerin içeriğini temizlemek gibi..

Böyle birşey mümkün müdür? Mausenin nesne seçim olayını etkinleştirebilir miyiz?
 
Merhaba değerli hocalarım,
Userform üzerinde bulunan 10 adet textbox'u mause ile seçip içeriğini temizleyebilir miyiz? Mesela excel tablosunda hücreleri mause ile seçip delete tuşuna basıp seçili hücrelerin içeriğini temizlemek gibi..

Böyle birşey mümkün müdür? Mausenin nesne seçim olayını etkinleştirebilir miyiz?

Bu tür bir işleme neden ihtiyaç duyuluyor ?
 
Class1 modulu ekleyin kodları yerleştirin.
Kod:
Public WithEvents TextGroup As MSForms.TextBox

Private Sub TextGroup_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode.Value = 46 Or KeyCode.Value = 8 Then Call UserForm1.calis
End Sub

Private Sub TextGroup_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Shift = 2 Then
        If TextGroup.BackColor = UserForm1.Tag Then
            TextGroup.BackColor = rgbSilver
        Else
            TextGroup.BackColor = UserForm1.Tag
        End If
    End If
End Sub

Userform1' e 12 adet textbox ekleyin.
Userform1 kodları

Kod:
Dim textBoxes(1 To 12) As New Class1

Private Sub UserForm_Initialize()
    Dim say
    Me.Tag = TextBox1.BackColor
    For say = 1 To 12
        Set textBoxes(say).TextGroup = Controls("TextBox" & say)
    Next say
End Sub

Public Sub calis()
    Dim say
    For say = 1 To 12
        With Controls("TextBox" & say)
            If .BackColor = rgbSilver Then
                .Text = ""
                .BackColor = UserForm1.Tag
            End If
        End With
    Next say
End Sub
 

Ekli dosyalar

Class1 modulu ekleyin kodları yerleştirin.
Kod:
Public WithEvents TextGroup As MSForms.TextBox

Private Sub TextGroup_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode.Value = 46 Or KeyCode.Value = 8 Then Call UserForm1.calis
End Sub

Private Sub TextGroup_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Shift = 2 Then
        If TextGroup.BackColor = UserForm1.Tag Then
            TextGroup.BackColor = rgbSilver
        Else
            TextGroup.BackColor = UserForm1.Tag
        End If
    End If
End Sub

Userform1' e 12 adet textbox ekleyin.
Userform1 kodları

Kod:
Dim textBoxes(1 To 12) As New Class1

Private Sub UserForm_Initialize()
    Dim say
    Me.Tag = TextBox1.BackColor
    For say = 1 To 12
        Set textBoxes(say).TextGroup = Controls("TextBox" & say)
    Next say
End Sub

Public Sub calis()
    Dim say
    For say = 1 To 12
        With Controls("TextBox" & say)
            If .BackColor = rgbSilver Then
                .Text = ""
                .BackColor = UserForm1.Tag
            End If
        End With
    Next say
End Sub

değerli hocam öncelikle teşekkür ederim acil bir sağlık sorunum vardı bu yüzden geç döndüm kusura bakmayın. dediklerinizi yaptım fakat userformu açtığımda mause ile nesne seçimini yapamadım. Ama Ctrl ye basılı tutup tek tek textbox seçebilebiliyor. Galiba verdiğiniz kodlar bu işe yarıyor. Ben bunu demek istememiştim. Mause basılı tutup hücreleri seçer gibi textbox seçmek istiyorum.
 
Son düzenleme:
Değerli hocalarım konu hala aktiftir. Bahsettiğim seçim olayı yapılabiliyor mu?
 
Geri
Üst