Textboxun üzerine maus ile gelince içeriğini göstermek?

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Merhaba arkadaşlar;
textboxun uzunluğundan dolayı içeriği görünmüyor. Yani textbox uzunluğu kısa geliyor. (boyutunu da uzatamıyorum)
Bundan dolayı;
textboxun üzerine gelince içeriğinin hepsini gösteren bir özellik var mıdır?

Saygı ve Sevgilerimle
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,402
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Dener misiniz?
Kod:
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.ControlTipText = TextBox1.Text
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Merhaba,
Dener misiniz?
Kod:
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.ControlTipText = TextBox1.Text
End Sub
Ömer bey ilginiziçin teşekkürler.
Ancak userformda 184 adet textboxum var. bunun için bir döngü şeklinde olabilir mi?
 
Katılım
6 Mart 2024
Mesajlar
185
Excel Vers. ve Dili
Excel 2010 TR & Excel 2016 TR
Merhaba,
Class Module kullanmanız gerek
@ÖmerBey in dediği gibi

Projenize Bir adet ClassModule ekleyiniz ismini(Name) MyClass yapınız

MyClass isimli ClassModule de olması gereken kodlar
C++:
Option Explicit
' ClassModule ismini(Name) MyClass yapmayı unutmayın

Public WithEvents MyTextBox As MSForms.TextBox

Private Sub MyTextBox_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    MyTextBox.ControlTipText = MyTextBox.Text
End Sub

Sonra 184 adet TextBox kullandığınız UserForm un kodlarının en üste kodları ekleyiniz.
C++:
' Option Explicit
Dim TxtBxObj() As New MyClass ' ClassModule ismi MyClass

Private Sub UserForm_Initialize()

    Dim ctrl As MSForms.Control, i As Long
    With Me
     For Each ctrl In Me.Controls
      If TypeOf ctrl Is MSForms.TextBox Then ' UserForm da ki tüm TextBoxlara uygula
       i = i + 1
       ReDim Preserve TxtBxObj(1 To i)
       Set TxtBxObj(i) = New MyClass ' ClassModule ismi MyClass
       Set TxtBxObj(i).MyTextBox = ctrl ' ClassModule de ki TextBox lara verdiğimiz özel isim MyTextBox
      End If
     Next
    End With
  
    ' UserForm_Initialize de başka kodlarınız varsa
    ' bu satırdan sonra ekleyin
  
  
  
End Sub
 
Son düzenleme:

Tasarım

Altın Üye
Katılım
3 Şubat 2005
Mesajlar
272
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
16-11-2025
Merhaba arkadaşlar;
textboxun uzunluğundan dolayı içeriği görünmüyor. Yani textbox uzunluğu kısa geliyor. (boyutunu da uzatamıyorum)
Bundan dolayı;
textboxun üzerine gelince içeriğinin hepsini gösteren bir özellik var mıdır?

Saygı ve Sevgilerimle
Multiline özelliğini True yaparsanız görürsünüz.
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Merhaba,

@ÖmerBey in dediği gibi

Projenize Bir adet ClassModule ekleyiniz ismini(Name) MyClass yapınız

MyClass isimli ClassModule de olması gereken kodlar
C++:
Option Explicit
' ClassModule ismini(Name) MyClass yapmayı unutmayın

Public WithEvents MyTextBox As MSForms.TextBox

Private Sub MyTextBox_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    MyTextBox.ControlTipText = MyTextBox.Text
End Sub

Sonra 184 adet TextBox kullandığınız UserForm un kodlarının en üste kodları ekleyiniz.
C++:
' Option Explicit
Dim TxtBxObj() As New MyClass ' ClassModule ismi MyClass

Private Sub UserForm_Initialize()

    Dim ctrl As MSForms.Control, i As Long
    With Me
     For Each ctrl In Me.Controls
      If TypeOf ctrl Is MSForms.TextBox Then ' UserForm da ki tüm TextBoxlara uygula
       i = i + 1
       ReDim Preserve TxtBxObj(1 To i)
       Set TxtBxObj(i) = New MyClass ' ClassModule ismi MyClass
       Set TxtBxObj(i).MyTextBox = ctrl ' ClassModule de ki TextBox lara verdiğimiz özel isim MyTextBox
      End If
     Next
    End With
 
    ' UserForm_Initialize de başka kodlarınız varsa
    ' bu satırdan sonra ekleyin
 
 
 
End Sub
Hocam ellerinize sağlık. Teşekkürler.
Kodlarınız çalıştı.
 
Üst