Userform üzerinde çoklu nesne seçimi

Katılım
19 Eylül 2012
Mesajlar
292
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?
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
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 ?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
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

Katılım
19 Eylül 2012
Mesajlar
292
Excel Vers. ve Dili
2010 türkçe
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:
Katılım
19 Eylül 2012
Mesajlar
292
Excel Vers. ve Dili
2010 türkçe
Değerli hocalarım konu hala aktiftir. Bahsettiğim seçim olayı yapılabiliyor mu?
 
Üst