TextBox kontrol hangisinde olduğunu öğrenme

Katılım
9 Kasım 2020
Mesajlar
39
Excel Vers. ve Dili
365 türkce
Altın Üyelik Bitiş Tarihi
16-04-2024
merhaba arkadaşlar userformda textbox kontrolu yapmak istiyorum imlecin hangi textboxta olduğunu nasıl anlarım butona bastğımda imlec hangi textbox ta anlmamın bir yolu varmı teşekkürler
 

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Katılım
9 Kasım 2020
Mesajlar
39
Excel Vers. ve Dili
365 türkce
Altın Üyelik Bitiş Tarihi
16-04-2024
İşinize yarar diye düşünüyorum.
Kod:
Textboxu seçince rengin değişmesi için aşağıdaki kodu kullanın.
Private Sub TextBox1_Enter()
TextBox1.BackColor = vbYellow
End Sub
Textboxtan çıkınca rengin eski haline gelmesi içinde aşağıdaki kodu kullanın.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.BackColor = vbWhite
End Sub
Textbox zemin rengi | Excel WEB TR Forum - Excel, Excel Makro, Excel Fonksiyon, Excel Formül, Excel soru ve çözümleri
istediğim userformda 30 adet textbox var girişleri yapıp command buton a bastığımda en son hangi textbox ta olduğumu anlamak istiyorum txtbox exit olayında bir hesaplama yaptırıyorum textbox tan çıkmadan butona basıldığı zaman hesaplama yapmıyor bunun için
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Genel bir değişken tanımlayın
Kodların en üst satırına aşağıdkai gibi
C++:
Dim Genel As Integer
Sonrasında her bir textbox için Enter olayına aşağıdaki gibi satırlar yazın. Genel değişkeni hani textboxda olduğunuzu belirler.
C++:
Private Sub TextBox1_Enter()
Genel=1
End Sub

Private Sub TextBox2_Enter()
Genel=2
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,275
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Çoklu kullanımlarda Class Module kullanılabilir. Fakat bu kısımda TexBox ENTER ve EXIT ozellikleri desteklenmiyor. Gerçi @Zeki Gürsoy beyin bu konuyla ilgili bir paylaşımını buldum. Belki uygulamak istersiniz. Linkten inceleyebilirsiniz. (Altın Üyelik gerektirir.)


Ek olarak CommandButton MouseMove olayına hesaplama kodlarınızı yazarsanız butona tıklamadan mouse ile üzerine geldinizde hesaplama kodlarınız çalışabilir. Böylece ekstra kod yazma yükünden kurtulmuş olursunuz.
 

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Formda range olarak hücre adresini aşağıdaki kodlarla alınabiliyor.
Ama gelen range'ın değerini anlayamadım.
Belki işinize yarar.

excel - VBA - imleç konumunu hücre adresi olarak al - Yığın Taşması (stackoverflow.com)
Excel 2016 64bit /32 bit dönüştürme - otomasyon | konusunda yardıma ihtiyacınız var MrExcel Mesaj Panosu

Kod:
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
' Create custom variable that holds two integers
Type POINTAPI
    Xcoord As Long
    Ycoord As Long
End Type

Sub GetCursorPosDemo()
    Dim llCoord As POINTAPI
    Dim rng As Range
    ' Get the cursor positions
    GetCursorPos llCoord
    ' Display the cursor position coordinates
    'MsgBox "X Position: " & llCoord.Xcoord & vbNewLine & "Y Position: " & llCoord.Ycoord

    Set rng = GetRange(llCoord.Xcoord, llCoord.Ycoord)

    If Not rng Is Nothing Then
        MsgBox "Cell under mouse is :" & rng.Address
    Else
        MsgBox "Not a valid location."
    End If

End Sub

Function GetRange(x As Long, y As Long) As Range
    Set GetRange = ActiveWindow.RangeFromPoint(x, y)
End Function
Kod:
#if Win64 then
   Declare PtrSafe Function MyMathFunc Lib "User32" (ByVal N As LongLong) As LongLong
#else
   Declare Function MyMathFunc Lib "User32" (ByVal N As Long) As Long
#end if
'YADA
'#If Win64 Then
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'#Else
'Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'#End If
'
'

'Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'' Create custom variable that holds two integers
Type POINTAPI
Xcoord As Long
Ycoord As Long
End Type
 
Üst